Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
D
data-server
Project
Project
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
licc
data-server
Commits
a52c8ada
Commit
a52c8ada
authored
Mar 09, 2021
by
codezwjava
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
森林状态接口代码修改
parent
57104d9e
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
186 additions
and
59 deletions
+186
-59
OrderInfo.java
...model/src/main/java/cn/wisenergy/model/app/OrderInfo.java
+2
-2
User.java
...ergy-model/src/main/java/cn/wisenergy/model/app/User.java
+1
-1
UserForestStatusServiceImpl.java
...senergy/service/app/impl/UserForestStatusServiceImpl.java
+183
-56
No files found.
wisenergy-model/src/main/java/cn/wisenergy/model/app/OrderInfo.java
View file @
a52c8ada
...
...
@@ -126,12 +126,12 @@ public class OrderInfo {
/**
* updateTime
*/
@ApiModelProperty
(
name
=
"updateTime"
,
value
=
"
update_time
"
)
@ApiModelProperty
(
name
=
"updateTime"
,
value
=
"
修改时间
"
)
private
Date
updateTime
;
/**
* createTime
*/
@ApiModelProperty
(
name
=
"createTime"
,
value
=
"
createTime
"
)
@ApiModelProperty
(
name
=
"createTime"
,
value
=
"
创建时间
"
)
private
Date
createTime
;
}
wisenergy-model/src/main/java/cn/wisenergy/model/app/User.java
View file @
a52c8ada
...
...
@@ -31,7 +31,7 @@ public class User extends Model<User> implements Serializable{
/**
* 手机号作为用户账号
*/
@ApiModelProperty
(
name
=
"user_id"
,
value
=
"用户
主键
id"
)
@ApiModelProperty
(
name
=
"user_id"
,
value
=
"用户id"
)
private
String
userId
;
/**
...
...
wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/UserForestStatusServiceImpl.java
View file @
a52c8ada
...
...
@@ -53,6 +53,7 @@ public class UserForestStatusServiceImpl implements UserForestStatusService {
BigDecimal
levelTerm
=
new
BigDecimal
(
3980
);
HashMap
<
Object
,
Object
>
userForestStatusMap
=
new
HashMap
<>();
HashMap
<
Object
,
Object
>
difference
=
new
HashMap
<>();
String
date
=
DateUtil
.
convertDateToStr
(
new
Date
(),
"yyyy-MM"
);
//1.获取当前用户的等级
...
...
@@ -69,80 +70,206 @@ public class UserForestStatusServiceImpl implements UserForestStatusService {
RecommendUser
recommendUserMapperByUserId
=
recommendUserMapper
.
getByUserId
(
userId
);
//用户团队表信息
TeamUserInfo
teamUserInfobyUserId
=
teamUserInfoMapper
.
getByUserId
(
userId
);
//距离下级直推用户还需增加的数量
int
recommend
=
0
;
//距离下级团队用户还需增加的数量
int
team
=
0
;
//6.距离下级升级条件
if
(
userLevel
<
2
){
//用户等级 < 幼苗 显示业绩缺少额度
//获取当前用户的业绩
BigDecimal
performanceByUserid
=
orderMapper
.
getPerformanceByUserid
(
userId
);
//距离升级还差多少额度
BigDecimal
difference
=
levelTerm
.
subtract
(
performanceByUserid
);
userForestStatusMap
.
put
(
"difference"
,
difference
);
BigDecimal
differenceAmount
=
levelTerm
.
subtract
(
performanceByUserid
);
difference
.
put
(
"differenceAmount"
,
differenceAmount
);
userForestStatusMap
.
put
(
"differenceMap"
,
difference
);
}
else
if
(
userLevel
==
2
){
//用户等级为青铜树
int
levelTerm1
=
20
;
Integer
seedlingNum
=
recommendUserMapperByUserId
.
getSeedlingNum
();
recommend
=
levelTerm1
-
seedlingNum
;
userForestStatusMap
.
put
(
"recommend"
,
recommend
);
//到达白银树升级条件
int
recommendSeedling
=
20
;
//获取当前用户直接推荐表中幼苗数量
Integer
recommendseedlingNum
=
recommendUserMapperByUserId
.
getSeedlingNum
();
//距离升级还差 recommendDifferenceSeedling
int
recommendDifferenceSeedling
=
recommendSeedling
-
recommendseedlingNum
;
if
(
recommendDifferenceSeedling
<
0
){
recommendDifferenceSeedling
=
0
;
}
difference
.
put
(
"recommendDifferenceSeedling"
,
recommendDifferenceSeedling
);
//距离升级所差百分比
float
perenctFloat
=
((
float
)
recommendseedlingNum
/
recommendSeedling
);
float
perpenct
=
(
float
)
Math
.
round
(
perenctFloat
*
100
)/
100
;
userForestStatusMap
.
put
(
"perenct"
,
perpenct
);
userForestStatusMap
.
put
(
"differenceMap"
,
difference
);
}
else
if
(
userLevel
==
3
){
//用户等级为白银树
int
goldLevelRecommend
=
54
;
int
goldLevelteam
=
20
;
//直推用户之和
Integer
countRecommend
=
recommendUserMapperByUserId
.
getSeedlingNum
()+
recommendUserMapperByUserId
.
getSilverTreeNum
();
//所差直推用户的数量
recommend
=
goldLevelRecommend
-
countRecommend
;
//所差团队用户的数量
team
=
goldLevelteam
-
teamUserInfobyUserId
.
getBronzeTreeNum
();
userForestStatusMap
.
put
(
"recommend"
,
recommend
);
userForestStatusMap
.
put
(
"team"
,
team
);
//黄金升级条件
int
recommendSeedling
=
50
;
int
recommendSilver
=
4
;
int
teamBronze
=
20
;
//当前用户直推表
int
seedlingNum
=
recommendUserMapperByUserId
.
getSeedlingNum
();
Integer
silverTreeNum
=
recommendUserMapperByUserId
.
getSilverTreeNum
();
Integer
teamBronzeTreeNum
=
teamUserInfobyUserId
.
getBronzeTreeNum
();
//直推幼苗差
//直推白银差
//团队青铜差
int
recommendDifferenceSeedling
=
recommendSeedling
-
seedlingNum
;
if
(
recommendDifferenceSeedling
<
0
){
recommendDifferenceSeedling
=
0
;
}
int
recommendDifferenceSilver
=
recommendSilver
-
silverTreeNum
;
if
(
recommendDifferenceSilver
<
0
){
recommendDifferenceSilver
=
0
;
}
int
teamDifferenceBronze
=
teamBronze
-
teamBronzeTreeNum
;
if
(
teamDifferenceBronze
<
0
){
teamDifferenceBronze
=
0
;
}
//距离升级所差百分比
float
perenctFloat
=
((
float
)
(
seedlingNum
+
silverTreeNum
+
teamBronzeTreeNum
)
/
(
recommendSeedling
+
recommendSilver
+
teamBronze
));
float
perenct
=
(
float
)
Math
.
round
(
perenctFloat
*
100
)/
100
;
userForestStatusMap
.
put
(
"perenct"
,
perenct
);
difference
.
put
(
"recommendDifferenceSeedling"
,
recommendDifferenceSeedling
);
difference
.
put
(
"recommendDifferenceSilver"
,
recommendDifferenceSilver
);
difference
.
put
(
"teamDifferenceBronze"
,
teamDifferenceBronze
);
userForestStatusMap
.
put
(
"differenceMap"
,
difference
);
}
else
if
(
userLevel
==
4
){
//用户等级为黄金树
int
farmerLevelRecommend
=
73
;
int
fammerLevelTeam
=
40
;
//用户直推之和
Integer
countRecommend
=
recommendUserMapperByUserId
.
getSeedlingNum
()+
recommendUserMapperByUserId
.
getGoldTreeNum
();
//用户团队之和
Integer
countTeam
=
teamUserInfobyUserId
.
getSilverTreeNum
();
//所差直推用户的数量
recommend
=
farmerLevelRecommend
-
countRecommend
;
//所差团队用户的数量
team
=
fammerLevelTeam
-
teamUserInfobyUserId
.
getBronzeTreeNum
();
userForestStatusMap
.
put
(
"recommend"
,
recommend
);
userForestStatusMap
.
put
(
"team"
,
team
);
//农场主升级条件
int
recommendSeedling
=
70
;
int
recommendGold
=
3
;
int
teamSilver
=
40
;
int
recommendSeedlingNum
=
recommendUserMapperByUserId
.
getSeedlingNum
();
int
recommendGoldTreeNum
=
recommendUserMapperByUserId
.
getGoldTreeNum
();
int
teamSilverTreeNum
=
teamUserInfobyUserId
.
getSilverTreeNum
();
//直推幼苗差
//直推黄金差
//团队白银差
int
recommendDifferenceSeedling
=
recommendSeedling
-
recommendSeedlingNum
;
if
(
recommendDifferenceSeedling
<
0
){
recommendDifferenceSeedling
=
0
;
}
int
recommendDifferenceGold
=
recommendGold
-
recommendGoldTreeNum
;
if
(
recommendDifferenceGold
<
0
){
recommendDifferenceGold
=
0
;
}
int
teamDifferenceSilver
=
teamSilver
-
teamSilverTreeNum
;
if
(
teamDifferenceSilver
<
0
){
teamDifferenceSilver
=
0
;
}
//距离升级所差百分比
float
perenctFloat
=
((
float
)
(
recommendSeedlingNum
+
recommendGoldTreeNum
+
teamSilverTreeNum
)
/
(
recommendSeedling
+
recommendGold
+
teamSilver
));
float
perenct
=
(
float
)
Math
.
round
(
perenctFloat
*
100
)/
100
;
userForestStatusMap
.
put
(
"perenct"
,
perenct
);
difference
.
put
(
"recommendDifferenceSeedling"
,
recommendDifferenceSeedling
);
difference
.
put
(
"recommendDifferenceGold"
,
recommendDifferenceGold
);
difference
.
put
(
"teamDifferenceSilver"
,
teamDifferenceSilver
);
userForestStatusMap
.
put
(
"differenceMap"
,
difference
);
}
else
if
(
userLevel
==
5
){
//用户等级为农场主
int
farmerLevelRecommend
=
73
;
int
fammerLevelTeam
=
40
;
//用户直推之和
Integer
countRecommend
=
recommendUserMapperByUserId
.
getSeedlingNum
()+
recommendUserMapperByUserId
.
getGoldTreeNum
();
//用户团队之和
Integer
countTeam
=
teamUserInfobyUserId
.
getSilverTreeNum
();
//所差直推用户的数量
recommend
=
farmerLevelRecommend
-
countRecommend
;
//所差团队用户的数量
team
=
fammerLevelTeam
-
teamUserInfobyUserId
.
getBronzeTreeNum
();
userForestStatusMap
.
put
(
"recommend"
,
recommend
);
userForestStatusMap
.
put
(
"team"
,
team
);
//升级森林之星条件
int
recommendSeedling
=
80
;
int
recommenFarmer
=
5
;
int
teamSilver
=
70
;
int
teamGold
=
30
;
//当前用户条件
Integer
recommendSeedlingNum
=
recommendUserMapperByUserId
.
getSeedlingNum
();
Integer
recommendFarmerNum
=
recommendUserMapperByUserId
.
getFarmerNum
();
Integer
teamSilverTreeNum
=
teamUserInfobyUserId
.
getSilverTreeNum
();
Integer
teamGoldTreeNum
=
teamUserInfobyUserId
.
getGoldTreeNum
();
//直推幼苗差
//直推农场主差
//团队白银差
//团队黄金差
int
recommendDifferenceSeedling
=
recommendSeedling
-
recommendSeedlingNum
;
if
(
recommendDifferenceSeedling
<
0
){
recommendDifferenceSeedling
=
0
;
}
int
recommendDifferenceFarmer
=
recommenFarmer
-
recommendFarmerNum
;
if
(
recommendDifferenceFarmer
<
0
){
recommendDifferenceFarmer
=
0
;
}
int
teamDifferenceSilver
=
teamSilver
-
teamSilverTreeNum
;
if
(
teamDifferenceSilver
<
0
){
teamDifferenceSilver
=
0
;
}
int
teamDifferenceGold
=
teamGold
-
teamGoldTreeNum
;
if
(
teamDifferenceGold
<
0
){
teamDifferenceGold
=
0
;
}
//距离升级所差百分比
float
perenctFloat
=
((
float
)
(
recommendSeedlingNum
+
recommendFarmerNum
+
teamSilverTreeNum
+
teamGoldTreeNum
)
/
(
recommendSeedling
+
recommenFarmer
+
teamSilver
+
teamGold
));
float
perenct
=
(
float
)
Math
.
round
(
perenctFloat
*
100
)/
100
;
userForestStatusMap
.
put
(
"perenct"
,
perenct
);
difference
.
put
(
"recommendDifferenceSeedling"
,
recommendDifferenceSeedling
);
difference
.
put
(
"recommendDifferenceFarmer"
,
recommendDifferenceFarmer
);
difference
.
put
(
"teamDifferenceSilver"
,
teamDifferenceSilver
);
difference
.
put
(
"teamDifferenceGold"
,
teamDifferenceGold
);
userForestStatusMap
.
put
(
"differenceMap"
,
difference
);
}
else
if
(
userLevel
==
6
){
//用户等级为森林之星
int
forestStartNumLevelRecommend
=
101
;
int
forestStartNumLevelTeam
=
170
;
//用户直推之和
Integer
countRecommend
=
recommendUserMapperByUserId
.
getSeedlingNum
()+
recommendUserMapperByUserId
.
getForestStartNum
();
//用户团队之和
Integer
countTeam
=
teamUserInfobyUserId
.
getSilverTreeNum
()+
teamUserInfobyUserId
.
getGoldTreeNum
()+
teamUserInfobyUserId
.
getFarmerNum
();
//所差直推用户的数量
recommend
=
forestStartNumLevelRecommend
-
countRecommend
;
//所差团队用户的数量
team
=
forestStartNumLevelTeam
-
countTeam
;
userForestStatusMap
.
put
(
"recommend"
,
recommend
);
userForestStatusMap
.
put
(
"team"
,
team
);
//升级西田森合伙人条件
int
recommendSeedling
=
100
;
int
recommendForestStart
=
1
;
int
teamSilver
=
90
;
int
teamGold
=
50
;
int
teamFarmer
=
50
;
//当前用户条件
Integer
recommendSeedlingNum
=
recommendUserMapperByUserId
.
getSeedlingNum
();
Integer
recommendForestStartNum
=
recommendUserMapperByUserId
.
getForestStartNum
();
Integer
teamSilverTreeNum
=
teamUserInfobyUserId
.
getSilverTreeNum
();
Integer
teamGoldTreeNum
=
teamUserInfobyUserId
.
getGoldTreeNum
();
Integer
teamFarmerNum
=
teamUserInfobyUserId
.
getFarmerNum
();
int
recommendDifferenceSeedling
=
recommendSeedling
-
recommendSeedlingNum
;
if
(
recommendDifferenceSeedling
<
0
){
recommendDifferenceSeedling
=
0
;
}
int
recommendDifferenceForestStart
=
recommendForestStart
-
recommendForestStartNum
;
if
(
recommendDifferenceForestStart
<
0
){
recommendDifferenceForestStart
=
0
;
}
int
teamDifferenceSilver
=
teamSilver
-
teamSilverTreeNum
;
if
(
teamDifferenceSilver
<
0
){
teamDifferenceSilver
=
0
;
}
int
teamDifferenceGold
=
teamGold
-
teamGoldTreeNum
;
if
(
teamDifferenceGold
<
0
){
teamDifferenceGold
=
0
;
}
int
teamDifferenceFarmer
=
teamFarmer
-
teamFarmerNum
;
if
(
teamDifferenceFarmer
<
0
){
teamDifferenceFarmer
=
0
;
}
//距离升级所差百分比
float
perenctFloat
=
((
float
)
(
recommendSeedlingNum
+
recommendForestStartNum
+
teamSilverTreeNum
+
teamGoldTreeNum
+
teamFarmerNum
)
/
(
recommendSeedling
+
recommendForestStart
+
teamSilver
+
teamGold
+
teamFarmer
));
float
perenct
=
(
float
)
Math
.
round
(
perenctFloat
*
100
)/
100
;
userForestStatusMap
.
put
(
"perenct"
,
perenct
);
difference
.
put
(
"recommendDifferenceSeedling"
,
recommendDifferenceSeedling
);
difference
.
put
(
"recommendDifferenceForestStart"
,
recommendDifferenceForestStart
);
difference
.
put
(
"teamDifferenceSilver"
,
teamDifferenceSilver
);
difference
.
put
(
"teamDifferenceGold"
,
teamDifferenceGold
);
difference
.
put
(
"teamDifferenceFarmer"
,
teamDifferenceFarmer
);
userForestStatusMap
.
put
(
"differenceMap"
,
difference
);
}
else
if
(
userLevel
==
7
){
difference
.
put
(
"null"
,
null
);
userForestStatusMap
.
put
(
"perenct"
,
1
);
userForestStatusMap
.
put
(
"differenceMap"
,
difference
);
}
userForestStatusMap
.
put
(
"userLevel"
,
userLevel
);
...
...
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