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
6ed8e8a4
authored
Sep 17, 2017
by
caosy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add the inventory code
parent
b6a5b51e
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
131 additions
and
26 deletions
src/main/java/com/ctrip/fun/golf/dao/order/EventCustomerInfoDao.java
src/main/java/com/ctrip/fun/golf/dao/order/OrderDao.java
src/main/java/com/ctrip/fun/golf/service/assemble/AsmCourseResourceService.java
src/main/java/com/ctrip/fun/golf/service/order/EventActivityOrderService.java
src/main/java/com/ctrip/fun/golf/service/order/EventCustomerInfoService.java
src/main/java/com/ctrip/fun/golf/service/order/OpEventActivityOrderService.java
src/main/java/com/ctrip/fun/golf/service/payment/EventActivityNotifyService.java
src/main/java/com/ctrip/fun/golf/service/product/CourseResourceService.java
src/main/java/com/ctrip/fun/golf/dao/order/EventCustomerInfoDao.java
View file @
6ed8e8a4
...
@@ -224,6 +224,42 @@ public class EventCustomerInfoDao extends GenericHibernateDao<EventCustomerInfo,
...
@@ -224,6 +224,42 @@ public class EventCustomerInfoDao extends GenericHibernateDao<EventCustomerInfo,
return
result
;
return
result
;
}
}
public
int
queryAllValidCustomerNumInSameResAndDate
(
Integer
resourceId
,
Date
priceDate
,
String
uid
)
{
StringBuffer
sb
=
new
StringBuffer
();
sb
.
append
(
"select count(*) as count from event_customerInfo ec where ec.validFlag=true and resourceId =:resourceId and priceDate = :priceDate "
);
if
(!
StringUtils
.
isEmpty
(
uid
)){
sb
.
append
(
"and uid = :uid "
);
}
Query
query
=
this
.
getSession
().
createSQLQuery
(
sb
.
toString
());
query
.
setParameter
(
"resourceId"
,
resourceId
);
query
.
setParameter
(
"priceDate"
,
priceDate
);
if
(!
StringUtils
.
isEmpty
(
uid
)){
query
.
setParameter
(
"uid"
,
uid
);
}
query
.
setResultTransformer
(
Transformers
.
ALIAS_TO_ENTITY_MAP
);
List
<
Map
<
String
,
Object
>>
queryResult
=
query
.
list
();
int
result
=
0
;
if
(
queryResult
!=
null
&&
queryResult
.
size
()
!=
0
)
{
result
=
((
BigInteger
)
queryResult
.
get
(
0
).
get
(
"count"
)).
intValue
();
}
return
result
;
}
public
int
queryValidCustomer
(
Integer
orderId
,
String
uid
)
{
StringBuffer
sb
=
new
StringBuffer
();
sb
.
append
(
"select count(*) as count from event_customerInfo ec where ec.validFlag=true and orderId =:orderId and uid = :uid"
);
Query
query
=
this
.
getSession
().
createSQLQuery
(
sb
.
toString
());
query
.
setParameter
(
"orderId"
,
orderId
);
query
.
setParameter
(
"uid"
,
uid
);
query
.
setResultTransformer
(
Transformers
.
ALIAS_TO_ENTITY_MAP
);
List
<
Map
<
String
,
Object
>>
queryResult
=
query
.
list
();
int
result
=
0
;
if
(
queryResult
!=
null
&&
queryResult
.
size
()
!=
0
)
{
result
=
((
BigInteger
)
queryResult
.
get
(
0
).
get
(
"count"
)).
intValue
();
}
return
result
;
}
/**
/**
* OP根据赛事资源Id和活动日期获取参赛人员
* OP根据赛事资源Id和活动日期获取参赛人员
*/
*/
...
...
src/main/java/com/ctrip/fun/golf/dao/order/OrderDao.java
View file @
6ed8e8a4
...
@@ -714,11 +714,13 @@ public class OrderDao extends GenericHibernateDao<Order, Integer> {
...
@@ -714,11 +714,13 @@ public class OrderDao extends GenericHibernateDao<Order, Integer> {
public
List
<
Order
>
queryEventActivityOrders
(
Date
priceDate
,
String
uid
,
int
resourceId
)
{
public
List
<
Order
>
queryEventActivityOrders
(
Date
priceDate
,
String
uid
,
int
resourceId
)
{
String
sql
=
"select t.orderId from ord_eventactivityorderitem t where t.playDate=:playDate and t.resourceId=:resourceId"
;
// String sql = "select t.orderId from ord_eventactivityorderitem t where t.playDate=:playDate and t.resourceId=:resourceId";
//直接修改成同一天只能参加一场赛事活动 modify by caosy
String
sql
=
"select t.orderId from ord_eventactivityorderitem t where t.playDate=:playDate"
;
Session
session
=
this
.
getSession
();
Session
session
=
this
.
getSession
();
Query
query
=
session
.
createSQLQuery
(
sql
);
Query
query
=
session
.
createSQLQuery
(
sql
);
query
.
setParameter
(
"playDate"
,
priceDate
);
query
.
setParameter
(
"playDate"
,
priceDate
);
query
.
setParameter
(
"resourceId"
,
resourceId
);
//
query.setParameter("resourceId", resourceId);
query
.
setResultTransformer
(
Transformers
.
ALIAS_TO_ENTITY_MAP
);
query
.
setResultTransformer
(
Transformers
.
ALIAS_TO_ENTITY_MAP
);
List
<
Map
<
String
,
Object
>>
list
=
query
.
list
();
List
<
Map
<
String
,
Object
>>
list
=
query
.
list
();
if
(
list
==
null
||
list
.
isEmpty
())
{
if
(
list
==
null
||
list
.
isEmpty
())
{
...
...
src/main/java/com/ctrip/fun/golf/service/assemble/AsmCourseResourceService.java
View file @
6ed8e8a4
...
@@ -287,10 +287,11 @@ public class AsmCourseResourceService {
...
@@ -287,10 +287,11 @@ public class AsmCourseResourceService {
ResourceInventory
resourceInventory
=
this
.
resourceInventoryDao
.
getResourceInventory
(
asmCourseresource
.
getPriceDate
(),
asmCourseresource
.
getResourceId
(),
ResourceInventory
resourceInventory
=
this
.
resourceInventoryDao
.
getResourceInventory
(
asmCourseresource
.
getPriceDate
(),
asmCourseresource
.
getResourceId
(),
ResourceCategoryEnum
.
COURSE
.
getValue
());
ResourceCategoryEnum
.
COURSE
.
getValue
());
if
(
resourceInventory
!=
null
)
{
if
(
resourceInventory
!=
null
)
{
communeResourceBean
.
setSize
(
resourceInventory
.
getSize
()
-
resourceInventory
.
getUsed
());
// int usedNum = resourceInventory.getUsed();
int
usedNum
=
eventCustomerInfoService
.
getAllEventCustomerValidNum
(
asmCourseresource
.
getResourceId
(),
asmCourseresource
.
getPriceDate
());
communeResourceBean
.
setSize
(
resourceInventory
.
getSize
()
-
usedNum
);
communeResourceBean
.
setTotalInventory
(
resourceInventory
.
getSize
());
communeResourceBean
.
setTotalInventory
(
resourceInventory
.
getSize
());
communeResourceBean
.
setUsedInventory
(
resourceInventory
.
getUsed
());
communeResourceBean
.
setUsedInventory
(
usedNum
);
}
}
}
else
if
(
asmCourseresource
.
getInventoryType
()
!=
null
&&
ResourceInventoryTypeEnum
.
TOTAL
.
getValue
()
==
asmCourseresource
.
getInventoryType
())
{
}
else
if
(
asmCourseresource
.
getInventoryType
()
!=
null
&&
ResourceInventoryTypeEnum
.
TOTAL
.
getValue
()
==
asmCourseresource
.
getInventoryType
())
{
...
@@ -373,7 +374,9 @@ public class AsmCourseResourceService {
...
@@ -373,7 +374,9 @@ public class AsmCourseResourceService {
ResourceInventory
resourceInventory
=
this
.
resourceInventoryDao
.
getResourceInventory
(
communeResourceBean
.
getPriceDate
(),
communeResourceBean
.
getResourceId
(),
ResourceInventory
resourceInventory
=
this
.
resourceInventoryDao
.
getResourceInventory
(
communeResourceBean
.
getPriceDate
(),
communeResourceBean
.
getResourceId
(),
ResourceCategoryEnum
.
COURSE
.
getValue
());
ResourceCategoryEnum
.
COURSE
.
getValue
());
if
(
resourceInventory
!=
null
)
{
if
(
resourceInventory
!=
null
)
{
communeResourceBean
.
setSize
(
resourceInventory
.
getSize
()
-
resourceInventory
.
getUsed
());
// int usedNum = resourceInventory.getUsed();
int
usedNum
=
eventCustomerInfoService
.
getAllEventCustomerValidNum
(
communeResourceBean
.
getResourceId
(),
communeResourceBean
.
getPriceDate
());
communeResourceBean
.
setSize
(
resourceInventory
.
getSize
()
-
usedNum
);
}
}
}
else
if
(
communeResourceBean
.
getInventoryType
()
!=
null
&&
ResourceInventoryTypeEnum
.
TOTAL
.
getValue
()
==
communeResourceBean
.
getInventoryType
())
{
}
else
if
(
communeResourceBean
.
getInventoryType
()
!=
null
&&
ResourceInventoryTypeEnum
.
TOTAL
.
getValue
()
==
communeResourceBean
.
getInventoryType
())
{
...
@@ -457,7 +460,9 @@ public class AsmCourseResourceService {
...
@@ -457,7 +460,9 @@ public class AsmCourseResourceService {
ResourceInventory
resourceInventory
=
this
.
resourceInventoryDao
.
getResourceInventory
(
communeResourceBean
.
getPriceDate
(),
communeResourceBean
.
getResourceId
(),
ResourceInventory
resourceInventory
=
this
.
resourceInventoryDao
.
getResourceInventory
(
communeResourceBean
.
getPriceDate
(),
communeResourceBean
.
getResourceId
(),
ResourceCategoryEnum
.
COURSE
.
getValue
());
ResourceCategoryEnum
.
COURSE
.
getValue
());
if
(
resourceInventory
!=
null
)
{
if
(
resourceInventory
!=
null
)
{
communeResourceBean
.
setSize
(
resourceInventory
.
getSize
()
-
resourceInventory
.
getUsed
());
// int usedNum = resourceInventory.getUsed();
int
usedNum
=
eventCustomerInfoService
.
getAllEventCustomerValidNum
(
communeResourceBean
.
getResourceId
(),
communeResourceBean
.
getPriceDate
());
communeResourceBean
.
setSize
(
resourceInventory
.
getSize
()
-
usedNum
);
}
}
}
else
if
(
communeResourceBean
.
getInventoryType
()
!=
null
&&
ResourceInventoryTypeEnum
.
TOTAL
.
getValue
()
==
communeResourceBean
.
getInventoryType
())
{
}
else
if
(
communeResourceBean
.
getInventoryType
()
!=
null
&&
ResourceInventoryTypeEnum
.
TOTAL
.
getValue
()
==
communeResourceBean
.
getInventoryType
())
{
...
@@ -569,7 +574,9 @@ public class AsmCourseResourceService {
...
@@ -569,7 +574,9 @@ public class AsmCourseResourceService {
ResourceInventory
resourceInventory
=
this
.
resourceInventoryDao
.
getResourceInventory
(
communeResourceBean
.
getPriceDate
(),
communeResourceBean
.
getResourceId
(),
ResourceInventory
resourceInventory
=
this
.
resourceInventoryDao
.
getResourceInventory
(
communeResourceBean
.
getPriceDate
(),
communeResourceBean
.
getResourceId
(),
ResourceCategoryEnum
.
COURSE
.
getValue
());
ResourceCategoryEnum
.
COURSE
.
getValue
());
if
(
resourceInventory
!=
null
)
{
if
(
resourceInventory
!=
null
)
{
communeResourceBean
.
setSize
(
resourceInventory
.
getSize
()
-
resourceInventory
.
getUsed
());
// int usedNum = resourceInventory.getUsed();
int
usedNum
=
eventCustomerInfoService
.
getAllEventCustomerValidNum
(
communeResourceBean
.
getResourceId
(),
communeResourceBean
.
getPriceDate
());
communeResourceBean
.
setSize
(
resourceInventory
.
getSize
()
-
usedNum
);
}
}
}
else
if
(
communeResourceBean
.
getInventoryType
()
!=
null
&&
ResourceInventoryTypeEnum
.
TOTAL
.
getValue
()
==
communeResourceBean
.
getInventoryType
())
{
}
else
if
(
communeResourceBean
.
getInventoryType
()
!=
null
&&
ResourceInventoryTypeEnum
.
TOTAL
.
getValue
()
==
communeResourceBean
.
getInventoryType
())
{
...
@@ -710,9 +717,11 @@ public class AsmCourseResourceService {
...
@@ -710,9 +717,11 @@ public class AsmCourseResourceService {
ResourceInventory
resourceInventory
=
this
.
resourceInventoryDao
.
getResourceInventory
(
asmCourseresource
.
getPriceDate
(),
asmCourseresource
.
getResourceId
(),
ResourceInventory
resourceInventory
=
this
.
resourceInventoryDao
.
getResourceInventory
(
asmCourseresource
.
getPriceDate
(),
asmCourseresource
.
getResourceId
(),
ResourceCategoryEnum
.
COURSE
.
getValue
());
ResourceCategoryEnum
.
COURSE
.
getValue
());
if
(
resourceInventory
!=
null
)
{
if
(
resourceInventory
!=
null
)
{
result
.
setSize
(
resourceInventory
.
getSize
()
-
resourceInventory
.
getUsed
());
// int usedNum = resourceInventory.getUsed();
int
usedNum
=
eventCustomerInfoService
.
getAllEventCustomerValidNum
(
asmCourseresource
.
getResourceId
(),
asmCourseresource
.
getPriceDate
());
result
.
setSize
(
resourceInventory
.
getSize
()
-
usedNum
);
result
.
setTotalInventory
(
resourceInventory
.
getSize
());
result
.
setTotalInventory
(
resourceInventory
.
getSize
());
result
.
setUsedInventory
(
resourceInventory
.
getUsed
()
);
result
.
setUsedInventory
(
usedNum
);
}
}
}
else
if
(
asmCourseresource
.
getInventoryType
()
!=
null
&&
ResourceInventoryTypeEnum
.
TOTAL
.
getValue
()
==
asmCourseresource
.
getInventoryType
())
{
}
else
if
(
asmCourseresource
.
getInventoryType
()
!=
null
&&
ResourceInventoryTypeEnum
.
TOTAL
.
getValue
()
==
asmCourseresource
.
getInventoryType
())
{
...
@@ -821,7 +830,9 @@ public class AsmCourseResourceService {
...
@@ -821,7 +830,9 @@ public class AsmCourseResourceService {
ResourceInventory
resourceInventory
=
this
.
resourceInventoryDao
.
getResourceInventory
(
asmCourseresource2
.
getPriceDate
(),
asmCourseresource2
.
getResourceId
(),
ResourceInventory
resourceInventory
=
this
.
resourceInventoryDao
.
getResourceInventory
(
asmCourseresource2
.
getPriceDate
(),
asmCourseresource2
.
getResourceId
(),
ResourceCategoryEnum
.
COURSE
.
getValue
());
ResourceCategoryEnum
.
COURSE
.
getValue
());
if
(
resourceInventory
!=
null
)
{
if
(
resourceInventory
!=
null
)
{
aggregationResourceBean
.
setSize
(
resourceInventory
.
getSize
()
-
resourceInventory
.
getUsed
());
int
usedNum
=
resourceInventory
.
getUsed
();
// int usedNum = eventCustomerInfoService.getAllEventCustomerValidNum(asmCourseresource.getResourceId(), asmCourseresource.getPriceDate());
aggregationResourceBean
.
setSize
(
resourceInventory
.
getSize
()
-
usedNum
);
}
}
}
else
if
(
asmCourseresource2
.
getInventoryType
()
!=
null
&&
ResourceInventoryTypeEnum
.
TOTAL
.
getValue
()
==
asmCourseresource2
.
getInventoryType
())
{
}
else
if
(
asmCourseresource2
.
getInventoryType
()
!=
null
&&
ResourceInventoryTypeEnum
.
TOTAL
.
getValue
()
==
asmCourseresource2
.
getInventoryType
())
{
...
@@ -1000,7 +1011,9 @@ public class AsmCourseResourceService {
...
@@ -1000,7 +1011,9 @@ public class AsmCourseResourceService {
ResourceInventory
resourceInventory
=
this
.
resourceInventoryDao
.
getResourceInventory
(
asmCourseresource2
.
getPriceDate
(),
asmCourseresource2
.
getResourceId
(),
ResourceInventory
resourceInventory
=
this
.
resourceInventoryDao
.
getResourceInventory
(
asmCourseresource2
.
getPriceDate
(),
asmCourseresource2
.
getResourceId
(),
ResourceCategoryEnum
.
COURSE
.
getValue
());
ResourceCategoryEnum
.
COURSE
.
getValue
());
if
(
resourceInventory
!=
null
)
{
if
(
resourceInventory
!=
null
)
{
aggregationResourceBean
.
setSize
(
resourceInventory
.
getSize
()
-
resourceInventory
.
getUsed
());
// int usedNum = resourceInventory.getUsed();
int
usedNum
=
eventCustomerInfoService
.
getAllEventCustomerValidNum
(
asmCourseresource2
.
getResourceId
(),
asmCourseresource2
.
getPriceDate
());
aggregationResourceBean
.
setSize
(
resourceInventory
.
getSize
()
-
usedNum
);
}
}
}
else
if
(
asmCourseresource2
.
getInventoryType
()
!=
null
&&
ResourceInventoryTypeEnum
.
TOTAL
.
getValue
()
==
asmCourseresource2
.
getInventoryType
())
{
}
else
if
(
asmCourseresource2
.
getInventoryType
()
!=
null
&&
ResourceInventoryTypeEnum
.
TOTAL
.
getValue
()
==
asmCourseresource2
.
getInventoryType
())
{
...
@@ -1273,6 +1286,8 @@ public class AsmCourseResourceService {
...
@@ -1273,6 +1286,8 @@ public class AsmCourseResourceService {
if
(
communeResourceBean
!=
null
)
{
if
(
communeResourceBean
!=
null
)
{
totalInventory
=
totalInventory
+
(
communeResourceBean
.
getTotalInventory
()
!=
null
?
communeResourceBean
.
getTotalInventory
()
:
0
);
totalInventory
=
totalInventory
+
(
communeResourceBean
.
getTotalInventory
()
!=
null
?
communeResourceBean
.
getTotalInventory
()
:
0
);
usedInventory
=
usedInventory
+
(
communeResourceBean
.
getUsedInventory
()
!=
null
?
communeResourceBean
.
getUsedInventory
()
:
0
);
usedInventory
=
usedInventory
+
(
communeResourceBean
.
getUsedInventory
()
!=
null
?
communeResourceBean
.
getUsedInventory
()
:
0
);
// int usedNum = eventCustomerInfoService.getAllEventCustomerValidNum(asmCourseresource.getResourceId(), asmCourseresource.getPriceDate());
// usedInventory = usedInventory + usedNum;
size
=
size
+
(
communeResourceBean
.
getSize
()
!=
null
?
communeResourceBean
.
getSize
()
:
0
);
size
=
size
+
(
communeResourceBean
.
getSize
()
!=
null
?
communeResourceBean
.
getSize
()
:
0
);
}
}
}
}
...
@@ -1367,9 +1382,11 @@ public class AsmCourseResourceService {
...
@@ -1367,9 +1382,11 @@ public class AsmCourseResourceService {
ResourceInventory
resourceInventory
=
this
.
resourceInventoryDao
.
getResourceInventory
(
asmCourseresource
.
getPriceDate
(),
asmCourseresource
.
getResourceId
(),
ResourceInventory
resourceInventory
=
this
.
resourceInventoryDao
.
getResourceInventory
(
asmCourseresource
.
getPriceDate
(),
asmCourseresource
.
getResourceId
(),
ResourceCategoryEnum
.
COURSE
.
getValue
());
ResourceCategoryEnum
.
COURSE
.
getValue
());
if
(
resourceInventory
!=
null
)
{
if
(
resourceInventory
!=
null
)
{
result
.
setSize
(
resourceInventory
.
getSize
()
-
resourceInventory
.
getUsed
());
int
usedNum
=
resourceInventory
.
getUsed
();
// int usedNum = eventCustomerInfoService.getAllEventCustomerValidNum(asmCourseresource.getResourceId(), asmCourseresource.getPriceDate());
result
.
setSize
(
resourceInventory
.
getSize
()
-
usedNum
);
result
.
setTotalInventory
(
resourceInventory
.
getSize
());
result
.
setTotalInventory
(
resourceInventory
.
getSize
());
result
.
setUsedInventory
(
resourceInventory
.
getUsed
()
);
result
.
setUsedInventory
(
usedNum
);
}
}
}
else
if
(
asmCourseresource
.
getInventoryType
()
!=
null
&&
ResourceInventoryTypeEnum
.
TOTAL
.
getValue
()
==
asmCourseresource
.
getInventoryType
())
{
}
else
if
(
asmCourseresource
.
getInventoryType
()
!=
null
&&
ResourceInventoryTypeEnum
.
TOTAL
.
getValue
()
==
asmCourseresource
.
getInventoryType
())
{
...
...
src/main/java/com/ctrip/fun/golf/service/order/EventActivityOrderService.java
View file @
6ed8e8a4
...
@@ -255,8 +255,11 @@ public class EventActivityOrderService extends
...
@@ -255,8 +255,11 @@ public class EventActivityOrderService extends
resourceInventoryQuery
.
setResourceCategory
(
1
);
resourceInventoryQuery
.
setResourceCategory
(
1
);
resourceInventoryQuery
.
setResourceId
(
eventActivityOrderItemList
.
get
(
0
).
getResourceId
());
resourceInventoryQuery
.
setResourceId
(
eventActivityOrderItemList
.
get
(
0
).
getResourceId
());
resourceInventoryQuery
.
setTheDate
(
eventActivityOrderItemList
.
get
(
0
).
getPlayDate
());
resourceInventoryQuery
.
setTheDate
(
eventActivityOrderItemList
.
get
(
0
).
getPlayDate
());
//need to modify by caosy
boolean
isHasEventCustomerInfo
=
eventCustomerInfoService
.
getEventCustomerValidNumByUid
(
resourceInventoryQuery
.
getResourceId
(),
resourceInventoryQuery
.
getTheDate
(),
order
.
getUid
())
>
0
;
if
(!
this
.
getCourseResourceService
().
isSuccessMinusInventory
(
resourceInventoryQuery
,
if
(!
this
.
getCourseResourceService
().
isSuccessMinusInventory
(
resourceInventoryQuery
,
eventActivityOrderItemList
.
get
(
0
).
getQuantity
()))
{
eventActivityOrderItemList
.
get
(
0
).
getQuantity
())
&&
!
isHasEventCustomerInfo
)
{
throw
new
OrderException
(-
3
,
"提交订单失败,预订的资源库存不足!"
);
throw
new
OrderException
(-
3
,
"提交订单失败,预订的资源库存不足!"
);
}
else
{
}
else
{
logger
.
info
(
"minusInventory orderNo="
+
order
.
getOrderNo
()
+
"ResourceId="
logger
.
info
(
"minusInventory orderNo="
+
order
.
getOrderNo
()
+
"ResourceId="
...
@@ -624,9 +627,10 @@ public class EventActivityOrderService extends
...
@@ -624,9 +627,10 @@ public class EventActivityOrderService extends
else
{
else
{
for
(
Order
order
:
orderList
)
{
for
(
Order
order
:
orderList
)
{
if
(
order
.
isPaied
())
{
if
(
order
.
isPaied
())
{
logger
.
info
(
"
用户已参加赛事
,不能重复参加, uid = "
+
uid
+
", resourceId = "
+
resourceId
logger
.
info
(
"
同一天只能参加一场赛事活动
,不能重复参加, uid = "
+
uid
+
", resourceId = "
+
resourceId
+
", playDate ="
+
priceDate
+
", orderId = "
+
order
.
getOrderId
());
+
", playDate ="
+
priceDate
+
", orderId = "
+
order
.
getOrderId
());
throw
new
OrderException
(-
25
,
"您已参加此赛事,请勿重复参加!"
);
// throw new OrderException(-25, "您已参加此赛事,请勿重复参加!");
throw
new
OrderException
(-
25
,
"同一天只能参加一场赛事活动,可以去订单中心取消更换赛事!"
);
}
}
}
}
return
false
;
return
false
;
...
@@ -690,6 +694,7 @@ public class EventActivityOrderService extends
...
@@ -690,6 +694,7 @@ public class EventActivityOrderService extends
return
totAmount
;
return
totAmount
;
}
}
/**
/**
* @param eventActivityOrderBean
* @param eventActivityOrderBean
*/
*/
...
@@ -711,6 +716,7 @@ public class EventActivityOrderService extends
...
@@ -711,6 +716,7 @@ public class EventActivityOrderService extends
}
else
{
}
else
{
logger
.
error
(
"get commune time fail:"
+
userExt
.
getUid
());
logger
.
error
(
"get commune time fail:"
+
userExt
.
getUid
());
}
}
//
if
(
eventActivityOrderBean
.
getResourceList
()
!=
null
)
{
if
(
eventActivityOrderBean
.
getResourceList
()
!=
null
)
{
for
(
EventActivityOrderResourceBean
resourceInfo
:
eventActivityOrderBean
for
(
EventActivityOrderResourceBean
resourceInfo
:
eventActivityOrderBean
.
getResourceList
())
{
.
getResourceList
())
{
...
@@ -747,8 +753,10 @@ public class EventActivityOrderService extends
...
@@ -747,8 +753,10 @@ public class EventActivityOrderService extends
resourceInventoryQuery
.
setResourceCategory
(
1
);
resourceInventoryQuery
.
setResourceCategory
(
1
);
resourceInventoryQuery
.
setResourceId
(
resourceInfo
.
getResourceId
());
resourceInventoryQuery
.
setResourceId
(
resourceInfo
.
getResourceId
());
resourceInventoryQuery
.
setTheDate
(
resourceInfo
.
getPlayDate
());
resourceInventoryQuery
.
setTheDate
(
resourceInfo
.
getPlayDate
());
Integer
intInventory
=
this
.
getCourseResourceService
().
getInventory
(
ResourceInventory
resourceInventory
=
this
.
resourceInventoryDao
.
getResourceInventory
(
resourceInfo
.
getPlayDate
(),
resourceInfo
.
getResourceId
(),
1
);
resourceInventoryQuery
);
Integer
intInventory
=
resourceInventory
.
getSize
()
-
eventCustomerInfoService
.
getAllEventCustomerValidNum
(
resourceInfo
.
getResourceId
(),
resourceInfo
.
getPlayDate
())
+
eventCustomerInfoService
.
getEventCustomerValidNumByUid
(
resourceInfo
.
getResourceId
(),
resourceInfo
.
getPlayDate
(),
eventActivityOrderBean
.
getUid
());
ResourcePrice
resourcePrice
=
resourcePriceDao
.
getResourcePrice
(
ResourcePrice
resourcePrice
=
resourcePriceDao
.
getResourcePrice
(
resourceInfo
.
getPlayDate
(),
resourceInfo
.
getResourceId
());
resourceInfo
.
getPlayDate
(),
resourceInfo
.
getResourceId
());
double
amount
=
(
BigDecimal
.
valueOf
(
resourceInfo
.
getCommuneQuantity
())
double
amount
=
(
BigDecimal
.
valueOf
(
resourceInfo
.
getCommuneQuantity
())
...
@@ -1103,7 +1111,11 @@ public class EventActivityOrderService extends
...
@@ -1103,7 +1111,11 @@ public class EventActivityOrderService extends
resourceInventoryQuery
.
setResourceId
(
eventActivityOrderItem
.
getResourceId
());
resourceInventoryQuery
.
setResourceId
(
eventActivityOrderItem
.
getResourceId
());
resourceInventoryQuery
.
setTheDate
(
eventActivityOrderItem
.
getPlayDate
());
resourceInventoryQuery
.
setTheDate
(
eventActivityOrderItem
.
getPlayDate
());
resourceInventoryQuery
.
setResourceCategory
(
ResourceCategoryEnum
.
COURSE
.
getValue
());
resourceInventoryQuery
.
setResourceCategory
(
ResourceCategoryEnum
.
COURSE
.
getValue
());
Integer
inventory
=
this
.
getCourseResourceService
().
getInventory
(
resourceInventoryQuery
);
// Integer inventory = this.getCourseResourceService().getInventory(resourceInventoryQuery);
ResourceInventory
resourceInventory
=
this
.
resourceInventoryDao
.
getResourceInventory
(
eventActivityOrderItem
.
getPlayDate
(),
eventActivityOrderItem
.
getResourceId
(),
1
);
Integer
inventory
=
resourceInventory
.
getSize
()
-
eventCustomerInfoService
.
getAllEventCustomerValidNum
(
eventActivityOrderItem
.
getResourceId
(),
eventActivityOrderItem
.
getPlayDate
())
+
eventCustomerInfoService
.
getEventCustomerValidNumByUid
(
eventActivityOrderItem
.
getResourceId
(),
eventActivityOrderItem
.
getPlayDate
(),
order
.
getUid
());
if
(
inventory
==
null
||
inventory
<=
0
)
{
if
(
inventory
==
null
||
inventory
<=
0
)
{
throw
new
OrderException
(
3
,
"球场该teetime已没有资源"
);
throw
new
OrderException
(
3
,
"球场该teetime已没有资源"
);
}
}
...
@@ -1239,7 +1251,12 @@ public class EventActivityOrderService extends
...
@@ -1239,7 +1251,12 @@ public class EventActivityOrderService extends
if
(
order
.
isPaied
()
||
orderStatusEnum
==
OrderStatusEnum
.
DEAL_FINISHED
)
{
if
(
order
.
isPaied
()
||
orderStatusEnum
==
OrderStatusEnum
.
DEAL_FINISHED
)
{
throw
new
OrderException
(-
1
,
"该订单不能取消"
);
throw
new
OrderException
(-
1
,
"该订单不能取消"
);
}
else
{
}
else
{
//返还库存
//继续预订的情况下,前台只占了一个库存, 但是job是开了很多, 所以job会返多次库存, 所以继续预订只需要返一次就行
if
(
eventCustomerInfoService
.
isValidEventCustomer
(
orderId
,
order
.
getUid
())){
//只有在这个单子对应的库存真正被占用了,才返还库存,否则无效的占位是不会多返的
this
.
returnInventory
(
order
,
false
);
this
.
returnInventory
(
order
,
false
);
}
int
processStatus
=
order
.
getProcessStatus
();
int
processStatus
=
order
.
getProcessStatus
();
processStatus
|=
OrderStatusBitEnum
.
CANCELING
.
getValue
();
processStatus
|=
OrderStatusBitEnum
.
CANCELING
.
getValue
();
processStatus
|=
OrderStatusBitEnum
.
CANCELED
.
getValue
();
processStatus
|=
OrderStatusBitEnum
.
CANCELED
.
getValue
();
...
...
src/main/java/com/ctrip/fun/golf/service/order/EventCustomerInfoService.java
View file @
6ed8e8a4
...
@@ -902,6 +902,21 @@ public class EventCustomerInfoService extends
...
@@ -902,6 +902,21 @@ public class EventCustomerInfoService extends
this
.
eventCustomerInfoOfflineLogDao
=
eventCustomerInfoOfflineLogDao
;
this
.
eventCustomerInfoOfflineLogDao
=
eventCustomerInfoOfflineLogDao
;
}
}
public
Integer
getAllEventCustomerValidNum
(
Integer
resourceId
,
Date
playDate
){
int
allValidCustomer
=
eventCustomerInfoDao
.
queryAllValidCustomerNumInSameResAndDate
(
resourceId
,
playDate
,
""
);
return
allValidCustomer
;
}
public
Integer
getEventCustomerValidNumByUid
(
Integer
resourceId
,
Date
playDate
,
String
uid
){
int
allValidCustomer
=
eventCustomerInfoDao
.
queryAllValidCustomerNumInSameResAndDate
(
resourceId
,
playDate
,
uid
);
return
allValidCustomer
;
}
public
boolean
isValidEventCustomer
(
Integer
orderId
,
String
uid
){
int
validCustomer
=
eventCustomerInfoDao
.
queryValidCustomer
(
orderId
,
uid
);
return
validCustomer
>
0
;
}
public
GameDao
getGameDao
()
{
public
GameDao
getGameDao
()
{
return
gameDao
;
return
gameDao
;
}
}
...
...
src/main/java/com/ctrip/fun/golf/service/order/OpEventActivityOrderService.java
View file @
6ed8e8a4
...
@@ -73,6 +73,7 @@ import com.ctrip.fun.golf.domain.order.OrderPayinfo;
...
@@ -73,6 +73,7 @@ import com.ctrip.fun.golf.domain.order.OrderPayinfo;
import
com.ctrip.fun.golf.domain.order.OrderProcessLog
;
import
com.ctrip.fun.golf.domain.order.OrderProcessLog
;
import
com.ctrip.fun.golf.domain.product.CourseProduct
;
import
com.ctrip.fun.golf.domain.product.CourseProduct
;
import
com.ctrip.fun.golf.domain.product.CourseResource
;
import
com.ctrip.fun.golf.domain.product.CourseResource
;
import
com.ctrip.fun.golf.domain.product.ResourceInventory
;
import
com.ctrip.fun.golf.domain.product.ResourcePrice
;
import
com.ctrip.fun.golf.domain.product.ResourcePrice
;
import
com.ctrip.fun.golf.domain.user.UserExt
;
import
com.ctrip.fun.golf.domain.user.UserExt
;
import
com.ctrip.fun.golf.exceptions.OrderException
;
import
com.ctrip.fun.golf.exceptions.OrderException
;
...
@@ -253,7 +254,11 @@ public class OpEventActivityOrderService
...
@@ -253,7 +254,11 @@ public class OpEventActivityOrderService
resourceInventoryQuery
.
setResourceCategory
(
ResourceCategoryEnum
.
COURSE
.
getValue
());
resourceInventoryQuery
.
setResourceCategory
(
ResourceCategoryEnum
.
COURSE
.
getValue
());
resourceInventoryQuery
.
setResourceId
(
orderItems
.
get
(
0
).
getResourceId
());
resourceInventoryQuery
.
setResourceId
(
orderItems
.
get
(
0
).
getResourceId
());
resourceInventoryQuery
.
setTheDate
(
orderItems
.
get
(
0
).
getPlayDate
());
resourceInventoryQuery
.
setTheDate
(
orderItems
.
get
(
0
).
getPlayDate
());
Integer
inventory
=
this
.
courseResourceService
.
getInventory
(
resourceInventoryQuery
);
Integer
inventorySize
=
this
.
courseResourceService
.
getInventorySize
(
resourceInventoryQuery
);
Integer
inventory
=
inventorySize
-
eventCustomerInfoService
.
getAllEventCustomerValidNum
(
orderItems
.
get
(
0
).
getResourceId
(),
orderItems
.
get
(
0
).
getPlayDate
())
+
eventCustomerInfoService
.
getEventCustomerValidNumByUid
(
orderItems
.
get
(
0
).
getResourceId
(),
orderItems
.
get
(
0
).
getPlayDate
(),
order
.
getUid
());
if
(
inventory
==
null
)
{
if
(
inventory
==
null
)
{
throw
new
OrderException
(-
1
,
"未找到库存信息"
);
throw
new
OrderException
(-
1
,
"未找到库存信息"
);
}
}
...
@@ -982,7 +987,11 @@ public class OpEventActivityOrderService
...
@@ -982,7 +987,11 @@ public class OpEventActivityOrderService
resourceInventoryQuery
.
setResourceCategory
(
ResourceCategoryEnum
.
COURSE
.
getValue
());
resourceInventoryQuery
.
setResourceCategory
(
ResourceCategoryEnum
.
COURSE
.
getValue
());
resourceInventoryQuery
.
setResourceId
(
orderItems
.
get
(
0
).
getResourceId
());
resourceInventoryQuery
.
setResourceId
(
orderItems
.
get
(
0
).
getResourceId
());
resourceInventoryQuery
.
setTheDate
(
orderItems
.
get
(
0
).
getPlayDate
());
resourceInventoryQuery
.
setTheDate
(
orderItems
.
get
(
0
).
getPlayDate
());
Integer
inventory
=
this
.
courseResourceService
.
getInventory
(
resourceInventoryQuery
);
Integer
inventorySize
=
this
.
courseResourceService
.
getInventorySize
(
resourceInventoryQuery
);
Integer
inventory
=
inventorySize
-
eventCustomerInfoService
.
getAllEventCustomerValidNum
(
orderItems
.
get
(
0
).
getResourceId
(),
orderItems
.
get
(
0
).
getPlayDate
())
+
eventCustomerInfoService
.
getEventCustomerValidNumByUid
(
orderItems
.
get
(
0
).
getResourceId
(),
orderItems
.
get
(
0
).
getPlayDate
(),
order
.
getUid
());
// Integer inventory = this.courseResourceService.getInventory(resourceInventoryQuery);
if
(
inventory
==
null
)
{
if
(
inventory
==
null
)
{
throw
new
OrderException
(-
1
,
"未找到库存信息"
);
throw
new
OrderException
(-
1
,
"未找到库存信息"
);
}
}
...
...
src/main/java/com/ctrip/fun/golf/service/payment/EventActivityNotifyService.java
View file @
6ed8e8a4
...
@@ -129,8 +129,9 @@ public class EventActivityNotifyService extends AbstractNotifyService {
...
@@ -129,8 +129,9 @@ public class EventActivityNotifyService extends AbstractNotifyService {
if
(
orderList
!=
null
&&
orderList
.
size
()
>
0
)
{
if
(
orderList
!=
null
&&
orderList
.
size
()
>
0
)
{
for
(
Order
otherOrder
:
orderList
)
{
for
(
Order
otherOrder
:
orderList
)
{
if
(
otherOrder
.
isPaied
()
&&
otherOrder
.
getOrderId
()
!=
order
.
getOrderId
())
{
if
(
otherOrder
.
isPaied
()
&&
otherOrder
.
getOrderId
()
!=
order
.
getOrderId
())
{
logger
.
info
(
"用户已参加赛事,不能重复参加, uid = "
+
uid
+
", resourceId = "
+
resourceId
+
", playDate ="
+
priceDate
+
", orderId = "
+
otherOrder
.
getOrderId
());
logger
.
info
(
"同一天只能参加一场赛事活动,不能重复参加, uid = "
+
uid
+
", resourceId = "
+
resourceId
+
", playDate ="
+
priceDate
+
", orderId = "
+
otherOrder
.
getOrderId
());
throw
new
OrderException
(-
25
,
"您已参加此赛事,请勿重复参加!"
);
// throw new OrderException(-25, "您已参加此赛事,请勿重复参加!");
throw
new
OrderException
(-
25
,
"同一天只能参加一场赛事活动,可以去订单中心取消更换赛事!"
);
}
}
}
}
}
}
...
@@ -159,9 +160,11 @@ public class EventActivityNotifyService extends AbstractNotifyService {
...
@@ -159,9 +160,11 @@ public class EventActivityNotifyService extends AbstractNotifyService {
List
<
Order
>
orderList
=
getOrderDao
().
queryEventActivityOrders
(
priceDate
,
uid
,
resourceId
);
List
<
Order
>
orderList
=
getOrderDao
().
queryEventActivityOrders
(
priceDate
,
uid
,
resourceId
);
if
(
orderList
!=
null
&&
orderList
.
size
()
>
0
)
{
if
(
orderList
!=
null
&&
orderList
.
size
()
>
0
)
{
for
(
Order
otherOrder
:
orderList
)
{
for
(
Order
otherOrder
:
orderList
)
{
//代表该用户有其他成功的单子
if
(
otherOrder
.
isPaied
()
&&
otherOrder
.
getOrderId
()
!=
order
.
getOrderId
())
{
if
(
otherOrder
.
isPaied
()
&&
otherOrder
.
getOrderId
()
!=
order
.
getOrderId
())
{
logger
.
info
(
"用户已参加赛事,不能重复参加, uid = "
+
uid
+
", resourceId = "
+
resourceId
+
", playDate ="
+
priceDate
+
", orderId = "
+
otherOrder
.
getOrderId
());
logger
.
info
(
"同一天只能参加一场赛事活动,不能重复参加, uid = "
+
uid
+
", resourceId = "
+
resourceId
+
", playDate ="
+
priceDate
+
", orderId = "
+
otherOrder
.
getOrderId
());
throw
new
OrderException
(-
25
,
"您已参加此赛事,请勿重复参加!"
);
// throw new OrderException(-25, "您已参加此赛事,请勿重复参加!");
throw
new
OrderException
(-
25
,
"同一天只能参加一场赛事活动,可以去订单中心取消更换赛事!"
);
}
}
}
}
}
}
...
...
src/main/java/com/ctrip/fun/golf/service/product/CourseResourceService.java
View file @
6ed8e8a4
...
@@ -174,6 +174,11 @@ public class CourseResourceService extends
...
@@ -174,6 +174,11 @@ public class CourseResourceService extends
}
}
public
Integer
getInventorySize
(
ResourceInventoryQuery
resourceInventoryQuery
){
ResourceInventory
resourceInventory
=
this
.
resourceInventoryDao
.
getResourceInventory
(
resourceInventoryQuery
.
getTheDate
(),
resourceInventoryQuery
.
getResourceId
(),
resourceInventoryQuery
.
getResourceCategory
());
return
resourceInventory
.
getSize
();
}
/**
/**
*
*
* @param resourceInventoryQuery
* @param resourceInventoryQuery
...
@@ -357,6 +362,7 @@ public class CourseResourceService extends
...
@@ -357,6 +362,7 @@ public class CourseResourceService extends
ResourceCategoryEnum
.
COURSE
.
getValue
());
ResourceCategoryEnum
.
COURSE
.
getValue
());
if
(
resourceInventory
!=
null
)
{
if
(
resourceInventory
!=
null
)
{
resourcePriceBean
.
setInventorySize
(
resourceInventory
.
getSize
());
resourcePriceBean
.
setInventorySize
(
resourceInventory
.
getSize
());
//modify by caosy
resourcePriceBean
.
setUsed
(
resourceInventory
.
getUsed
());
resourcePriceBean
.
setUsed
(
resourceInventory
.
getUsed
());
resourcePriceBean
.
setInventoryId
(
resourceInventory
.
getId
());
resourcePriceBean
.
setInventoryId
(
resourceInventory
.
getId
());
}
}
...
...
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