Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
caosy
/
fun-golf-service
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
1
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
ad768e75
authored
Jan 04, 2018
by
Huang Linyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
赛事下单验证社员和嘉宾价格
parent
6b6191c6
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
134 additions
and
20 deletions
src/main/java/com/ctrip/fun/golf/api/friend/FriendsController.java
src/main/java/com/ctrip/fun/golf/service/friend/FriendService.java
src/main/java/com/ctrip/fun/golf/service/order/EventActivityOrderService.java
src/main/java/com/ctrip/fun/golf/service/user/UserExtService.java
src/main/resources/friend.spring.xml
src/main/java/com/ctrip/fun/golf/api/friend/FriendsController.java
View file @
ad768e75
package
com
.
ctrip
.
fun
.
golf
.
api
.
friend
;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -14,20 +16,26 @@ import org.springframework.web.bind.annotation.RequestMethod;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
com.ctrip.fun.common.core.util.BeanConverter
;
import
com.ctrip.fun.common.core.util.DateUtil
;
import
com.ctrip.fun.common.core.util.SysUtil
;
import
com.ctrip.fun.common.vo.Request
;
import
com.ctrip.fun.common.vo.Response
;
import
com.ctrip.fun.common.vo.ResponseStatusEnum
;
import
com.ctrip.fun.common.vo.app.RequestFriendBean
;
import
com.ctrip.fun.common.vo.app.ResponseFriendBean
;
import
com.ctrip.fun.common.vo.basic.VipGradeEnum
;
import
com.ctrip.fun.golf.domain.friend.Friend
;
import
com.ctrip.fun.golf.domain.user.UserExt
;
import
com.ctrip.fun.golf.service.friend.FriendService
;
import
com.ctrip.fun.golf.service.user.UserExtService
;
@Controller
@RequestMapping
(
value
=
"/friends"
)
public
class
FriendsController
{
@Autowired
private
FriendService
friendService
=
null
;
@Autowired
private
UserExtService
userExtService
=
null
;
private
Logger
logger
=
LoggerFactory
.
getLogger
(
FriendsController
.
class
);
...
...
@@ -53,9 +61,18 @@ public class FriendsController {
}
else
{
ResponseFriendBean
responseFriendBean
=
new
ResponseFriendBean
();
Friend
friend
=
this
.
friendService
.
get
(
friendId
);
UserExt
userExt
=
userExtService
.
GetUserExtInfoByPhone
(
friend
.
getFriendPhone
());
if
(
friend
!=
null
){
responseFriendBean
.
setPlayerId
(
friend
.
getPlayerId
());
responseFriendBean
.
setFriendId
(
friendId
);
if
(
userExt
!=
null
){
// responseFriendBean.setVipGrade(userExt.getVipGrade());
if
(
checkIfCommuneUser
(
userExt
)){
responseFriendBean
.
setVipGrade
(
VipGradeEnum
.
VIP2
.
getKey
());
}
else
{
responseFriendBean
.
setVipGrade
(
VipGradeEnum
.
NONEVIP
.
getKey
());
}
}
}
response
.
setBody
(
responseFriendBean
);
}
...
...
@@ -63,6 +80,26 @@ public class FriendsController {
logger
.
info
(
SysUtil
.
getMethodName
()
+
" response: "
+
response
.
toString
());
return
response
;
}
private
boolean
checkIfCommuneUser
(
UserExt
userExt
)
{
boolean
isCommuneUser
=
(
userExt
.
getVipGrade
()
&
VipGradeEnum
.
VIP2
.
getKey
())
==
VipGradeEnum
.
VIP2
.
getKey
();
//社员续费 add by caosy
Date
startTime
=
(
userExt
.
getCommuneAgainTime
()
==
null
?
userExt
.
getCommuneTime
():
userExt
.
getCommuneAgainTime
());
if
(
startTime
!=
null
){
Date
outDate
=
DateUtil
.
addDateField
(
startTime
,
Calendar
.
YEAR
,
1
);
long
dayFromOutDate
=
DateUtil
.
getDistinceDay
(
new
Date
(),
outDate
);
long
a
=
dayFromOutDate
;
if
(
dayFromOutDate
<
0
)
{
// 代表已经过期
isCommuneUser
=
false
;
}
}
else
{
logger
.
error
(
"get commune time fail:"
+
userExt
.
getUid
());
}
return
isCommuneUser
;
}
/**
* 修改friend
* @author whao
...
...
src/main/java/com/ctrip/fun/golf/service/friend/FriendService.java
View file @
ad768e75
package
com
.
ctrip
.
fun
.
golf
.
service
.
friend
;
import
java.util.ArrayList
;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -9,12 +11,16 @@ import org.slf4j.Logger;
import
org.slf4j.LoggerFactory
;
import
com.ctrip.fun.common.core.util.BeanConverter
;
import
com.ctrip.fun.common.core.util.DateUtil
;
import
com.ctrip.fun.common.core.util.SysUtil
;
import
com.ctrip.fun.common.vo.app.ResponseFriendBean
;
import
com.ctrip.fun.common.vo.basic.VipGradeEnum
;
import
com.ctrip.fun.golf.dao.friend.FriendDao
;
import
com.ctrip.fun.golf.dao.game.GamePlayerDao
;
import
com.ctrip.fun.golf.dao.user.UserExtDao
;
import
com.ctrip.fun.golf.domain.friend.Friend
;
import
com.ctrip.fun.golf.domain.game.GamePlayer
;
import
com.ctrip.fun.golf.domain.user.UserExt
;
import
com.ctrip.fun.golf.service.GenericService
;
public
class
FriendService
extends
GenericService
<
FriendDao
,
Friend
,
Integer
,
Friend
>{
...
...
@@ -23,6 +29,8 @@ public class FriendService extends GenericService<FriendDao, Friend, Integer, F
private
FriendDao
friendDao
;
private
UserExtDao
userExtDao
;
private
Logger
logger
=
LoggerFactory
.
getLogger
(
FriendService
.
class
);
...
...
@@ -105,6 +113,16 @@ public class FriendService extends GenericService<FriendDao, Friend, Integer, F
responseFriendBean
.
setIsAiWan
(
2
);
else
{
List
<
GamePlayer
>
playerList
=
gamePlayerDao
.
queryGamePlayerList
(
0
,
phone
,
null
);
UserExt
user
=
userExtDao
.
GetUserExtInfoByPhone
(
phone
);
if
(
user
!=
null
){
// responseFriendBean.setVipGrade(user.getVipGrade());
if
(
checkIfCommuneUser
(
user
)){
responseFriendBean
.
setVipGrade
(
VipGradeEnum
.
VIP2
.
getKey
());
}
else
{
responseFriendBean
.
setVipGrade
(
VipGradeEnum
.
NONEVIP
.
getKey
());
}
}
if
(
playerList
!=
null
&&
playerList
.
size
()
>
0
)
{
GamePlayer
player
=
playerList
.
get
(
0
);
String
uid
=
player
.
getUid
();
...
...
@@ -120,6 +138,26 @@ public class FriendService extends GenericService<FriendDao, Friend, Integer, F
return
list
;
}
private
boolean
checkIfCommuneUser
(
UserExt
userExt
)
{
boolean
isCommuneUser
=
(
userExt
.
getVipGrade
()
&
VipGradeEnum
.
VIP2
.
getKey
())
==
VipGradeEnum
.
VIP2
.
getKey
();
//社员续费 add by caosy
Date
startTime
=
(
userExt
.
getCommuneAgainTime
()
==
null
?
userExt
.
getCommuneTime
():
userExt
.
getCommuneAgainTime
());
if
(
startTime
!=
null
){
Date
outDate
=
DateUtil
.
addDateField
(
startTime
,
Calendar
.
YEAR
,
1
);
long
dayFromOutDate
=
DateUtil
.
getDistinceDay
(
new
Date
(),
outDate
);
long
a
=
dayFromOutDate
;
if
(
dayFromOutDate
<
0
)
{
// 代表已经过期
isCommuneUser
=
false
;
}
}
else
{
logger
.
error
(
"get commune time fail:"
+
userExt
.
getUid
());
}
return
isCommuneUser
;
}
public
Friend
deleteFriend
(
Friend
friend
){
if
(
friend
==
null
)
return
null
;
...
...
@@ -195,4 +233,12 @@ public class FriendService extends GenericService<FriendDao, Friend, Integer, F
this
.
gamePlayerDao
=
gamePlayerDao
;
}
public
UserExtDao
getUserExtDao
()
{
return
userExtDao
;
}
public
void
setUserExtDao
(
UserExtDao
userExtDao
)
{
this
.
userExtDao
=
userExtDao
;
}
}
src/main/java/com/ctrip/fun/golf/service/order/EventActivityOrderService.java
View file @
ad768e75
...
...
@@ -683,14 +683,22 @@ public class EventActivityOrderService extends
List
<
EventActivityOrderResourceBean
>
eventActivityOrderItemBeans
=
eventActivityOrderBean
.
getResourceList
();
BigDecimal
totAmount
=
new
BigDecimal
(
0
);
int
communeNum
=
0
,
communeGuestNum
=
0
;
for
(
CustomerInfoBean
bean
:
eventActivityOrderBean
.
getCustomerInfoList
()){
UserExt
user
=
this
.
getUserExtDao
().
GetUserExtInfoByPhone
(
bean
.
getMobileNo
());
if
(
checkIfCommuneUser
(
user
)){
communeNum
++;
}
else
{
communeGuestNum
++;
}
}
if
(
eventActivityOrderItemBeans
!=
null
)
{
for
(
EventActivityOrderResourceBean
eventActivityOrderResourceBean
:
eventActivityOrderItemBeans
)
{
double
amount
=
(
BigDecimal
.
valueOf
(
eventActivityOrderResourceBean
.
getCommuneQuantity
()).
multiply
(
BigDecimal
.
valueOf
(
double
amount
=
(
BigDecimal
.
valueOf
(
communeNum
).
multiply
(
BigDecimal
.
valueOf
(
eventActivityOrderResourceBean
.
getCommunePrice
()).
subtract
(
BigDecimal
.
valueOf
(
eventActivityOrderResourceBean
.
getCommuneMinus
()))))
.
add
(
BigDecimal
.
valueOf
(
eventActivityOrderResourceBean
.
getCommuneGuestQuantity
()).
multiply
(
.
add
(
BigDecimal
.
valueOf
(
communeGuestNum
).
multiply
(
(
BigDecimal
.
valueOf
(
eventActivityOrderResourceBean
.
getCommuneGuestPrice
()).
subtract
(
BigDecimal
.
valueOf
(
eventActivityOrderResourceBean
...
...
@@ -717,21 +725,19 @@ public class EventActivityOrderService extends
protected
void
checkOrderItem
(
EventActivityOrderBean
eventActivityOrderBean
)
{
UserExt
userExt
=
this
.
getUserExtDao
().
getUserExtInfoByUid
(
eventActivityOrderBean
.
getUid
());
boolean
isCommuneUser
=
(
userExt
.
getVipGrade
()
&
VipGradeEnum
.
VIP2
.
getKey
())
==
VipGradeEnum
.
VIP2
.
getKey
();
//社员续费 add by caosy
Date
startTime
=
(
userExt
.
getCommuneAgainTime
()
==
null
?
userExt
.
getCommuneTime
():
userExt
.
getCommuneAgainTime
());
if
(
startTime
!=
null
){
Date
outDate
=
DateUtil
.
addDateField
(
startTime
,
Calendar
.
YEAR
,
1
);
long
dayFromOutDate
=
DateUtil
.
getDistinceDay
(
new
Date
(),
outDate
);
long
a
=
dayFromOutDate
;
if
(
dayFromOutDate
<
0
)
{
// 代表已经过期
isCommuneUser
=
false
;
boolean
isCommuneUser
=
checkIfCommuneUser
(
userExt
);
int
communeNum
=
0
,
communeGuestNum
=
0
;
for
(
CustomerInfoBean
bean
:
eventActivityOrderBean
.
getCustomerInfoList
()){
UserExt
user
=
this
.
getUserExtDao
().
GetUserExtInfoByPhone
(
bean
.
getMobileNo
());
if
(
checkIfCommuneUser
(
user
)){
communeNum
++;
}
else
{
communeGuestNum
++;
}
}
else
{
logger
.
error
(
"get commune time fail:"
+
userExt
.
getUid
());
}
//
if
(
eventActivityOrderBean
.
getResourceList
()
!=
null
)
{
for
(
EventActivityOrderResourceBean
resourceInfo
:
eventActivityOrderBean
...
...
@@ -775,14 +781,14 @@ public class EventActivityOrderService extends
resourceInfo
.
getResourceId
(),
resourceInfo
.
getPlayDate
(),
eventActivityOrderBean
.
getUid
());
ResourcePrice
resourcePrice
=
resourcePriceDao
.
getResourcePrice
(
resourceInfo
.
getPlayDate
(),
resourceInfo
.
getResourceId
());
double
amount
=
(
BigDecimal
.
valueOf
(
resourceInfo
.
getCommuneQuantity
()
)
double
amount
=
(
BigDecimal
.
valueOf
(
communeNum
)
.
multiply
(
BigDecimal
.
valueOf
(
resourcePrice
.
getCommunePrice
()).
subtract
(
BigDecimal
.
valueOf
(
resourcePrice
.
getCommuneMinus
())))).
add
(
BigDecimal
.
valueOf
(
resourceInfo
.
getCommuneGuestQuantity
()
).
multiply
(
BigDecimal
.
valueOf
(
communeGuestNum
).
multiply
(
(
BigDecimal
.
valueOf
(
resourcePrice
.
getCommuneGuestPrice
())
.
subtract
(
BigDecimal
.
valueOf
(
resourcePrice
.
getCommuneGuestMinus
()))))).
doubleValue
();
if
(
resourceInfo
.
getAmount
().
subtract
(
BigDecimal
.
valueOf
(
amount
)).
doubleValue
(
)
!=
0
)
{
if
(
resourceInfo
.
getAmount
().
compareTo
(
BigDecimal
.
valueOf
(
amount
)
)
!=
0
)
{
throw
new
OrderException
(-
5
,
"订单金额计算有误"
);
}
else
if
(!
resourcePrice
.
getCommunePrice
().
equals
(
resourceInfo
.
getCommunePrice
())
||
!
resourcePrice
.
getCommuneMinus
().
equals
(
resourceInfo
.
getCommuneMinus
())
...
...
@@ -814,6 +820,25 @@ public class EventActivityOrderService extends
}
private
boolean
checkIfCommuneUser
(
UserExt
userExt
)
{
boolean
isCommuneUser
=
(
userExt
.
getVipGrade
()
&
VipGradeEnum
.
VIP2
.
getKey
())
==
VipGradeEnum
.
VIP2
.
getKey
();
//社员续费 add by caosy
Date
startTime
=
(
userExt
.
getCommuneAgainTime
()
==
null
?
userExt
.
getCommuneTime
():
userExt
.
getCommuneAgainTime
());
if
(
startTime
!=
null
){
Date
outDate
=
DateUtil
.
addDateField
(
startTime
,
Calendar
.
YEAR
,
1
);
long
dayFromOutDate
=
DateUtil
.
getDistinceDay
(
new
Date
(),
outDate
);
long
a
=
dayFromOutDate
;
if
(
dayFromOutDate
<
0
)
{
// 代表已经过期
isCommuneUser
=
false
;
}
}
else
{
logger
.
error
(
"get commune time fail:"
+
userExt
.
getUid
());
}
return
isCommuneUser
;
}
/**
* @param eventActivityOrderBean
* @see com.ctrip.fun.golf.service.order.AbstractOrderService#saveEventActivityOrderItems(com.ctrip.fun.common.vo.order2.eventActivityOrderBean)
...
...
src/main/java/com/ctrip/fun/golf/service/user/UserExtService.java
View file @
ad768e75
...
...
@@ -85,6 +85,10 @@ public class UserExtService extends GenericService<UserExtDao, UserExt, Integer,
}
return
false
;
}
public
UserExt
GetUserExtInfoByPhone
(
String
bindedMobilePhone
){
return
this
.
userExtDao
.
GetUserExtInfoByPhone
(
bindedMobilePhone
);
}
public
Integer
updateBlockFlag
(
UserExt
bean
)
{
return
userExtDao
.
updateBlockFlag
(
bean
);
...
...
src/main/resources/friend.spring.xml
View file @
ad768e75
...
...
@@ -10,6 +10,8 @@
<bean
class=
"com.ctrip.fun.golf.service.friend.FriendService"
>
<property
name=
"friendDao"
ref=
"friendDao"
></property>
<property
name=
"gamePlayerDao"
ref=
"gamePlayerDao"
></property>
<property
name=
"userExtDao"
ref=
"userExtDao"
></property>
</bean>
</beans>
...
...
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