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
78e60522
authored
Dec 07, 2017
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'f-6.6.5' into release
parents
9e4a2e7d
fd7b5b01
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
281 additions
and
19 deletions
src/main/java/com/ctrip/fun/golf/dao/basic/VoucherDao.java
src/main/java/com/ctrip/fun/golf/dao/order/EventCustomerInfoDao.java
src/main/java/com/ctrip/fun/golf/domain/basic/VoucherRule.java
src/main/java/com/ctrip/fun/golf/service/basic/VoucherService.java
src/main/java/com/ctrip/fun/golf/service/order/AbstractOrderService.java
src/main/java/com/ctrip/fun/golf/service/order/CommuneOrderService.java
src/main/java/com/ctrip/fun/golf/service/order/CourseOrderService.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/OpCourseOrderService.java
src/main/java/com/ctrip/fun/golf/service/order/OpEventActivityOrderService.java
src/main/java/com/ctrip/fun/golf/service/order/RechargeOrderService.java
src/main/java/com/ctrip/fun/golf/service/order/TourOrderService.java
src/main/java/com/ctrip/fun/mall/service/order/MallOrderService.java
src/main/resources/basic.spring.xml
src/main/resources/order.spring.xml
src/main/java/com/ctrip/fun/golf/dao/basic/VoucherDao.java
View file @
78e60522
...
...
@@ -70,7 +70,8 @@ public class VoucherDao extends GenericHibernateDao<Voucher, Integer> {
String
hsql
=
"from Voucher t where t.used=1 and t.orderNo="
+
orderNo
;
return
this
.
getEntities
(
hsql
);
}
@Deprecated
public
int
useVoucher
(
String
ids
,
Long
orderNo
)
{
String
sql
=
"update Voucher set used="
+
VourcherStatusEnum
.
USED
.
getValue
()
+
" , useDate=now() , orderNo="
+
orderNo
+
" where used=0 and id in ("
...
...
@@ -78,6 +79,13 @@ public class VoucherDao extends GenericHibernateDao<Voucher, Integer> {
Query
query
=
getSession
().
createQuery
(
sql
);
return
query
.
executeUpdate
();
}
public
int
useVoucher
(
String
id
,
Long
orderNo
,
BigDecimal
amount
){
String
hql
=
"update Voucher set used="
+
VourcherStatusEnum
.
USED
.
getValue
()
+
" , useDate=now() , orderNo="
+
orderNo
+
",amount="
+
amount
+
" where used=0 and id ="
+
id
;
Query
query
=
getSession
().
createQuery
(
hql
);
return
query
.
executeUpdate
();
}
@SuppressWarnings
(
"rawtypes"
)
public
int
getVoucherCount
(
String
ids
,
Long
orderNo
,
String
playDate
)
{
...
...
@@ -208,6 +216,7 @@ public class VoucherDao extends GenericHibernateDao<Voucher, Integer> {
sb
.
append
(
" v.UID AS uid, "
);
sb
.
append
(
" v.Source AS source, "
);
sb
.
append
(
" v.ruleId AS ruleId , "
);
sb
.
append
(
" v.description , "
);
sb
.
append
(
" r.sendToUserType, "
);
sb
.
append
(
" r.remark, "
);
sb
.
append
(
" r.description "
);
...
...
src/main/java/com/ctrip/fun/golf/dao/order/EventCustomerInfoDao.java
View file @
78e60522
...
...
@@ -64,7 +64,6 @@ public class EventCustomerInfoDao extends GenericHibernateDao<EventCustomerInfo,
String
hql
=
" from EventCustomerInfo where orderId =:orderId and validFlag=true"
;
return
this
.
getSession
().
createQuery
(
hql
).
setParameter
(
"orderId"
,
orderId
).
list
();
}
public
List
<
EventCustomerInfo
>
getAllCustomerInfoListByOrderId
(
int
orderId
)
{
String
hql
=
" from EventCustomerInfo where orderId =:orderId"
;
return
this
.
getSession
().
createQuery
(
hql
).
setParameter
(
"orderId"
,
orderId
).
list
();
...
...
@@ -324,6 +323,16 @@ public class EventCustomerInfoDao extends GenericHibernateDao<EventCustomerInfo,
query
.
setInteger
(
"eventCustomerId"
,
bean
.
getEventCustomerId
());
query
.
executeUpdate
();
}
/**
* 根据customerId设置信息
*/
public
void
updateCustomerById
(
Integer
eventCustomerId
,
boolean
validFlag
)
{
String
hql
=
"update EventCustomerInfo e set e.validFlag = :validFlag where e.eventCustomerId= :eventCustomerId"
;
Query
query
=
this
.
getSession
().
createQuery
(
hql
);
query
.
setInteger
(
"eventCustomerId"
,
eventCustomerId
);
query
.
setBoolean
(
"validFlag"
,
validFlag
);
query
.
executeUpdate
();
}
/**
* 用于admin后台 查询订单分组与导出
...
...
src/main/java/com/ctrip/fun/golf/domain/basic/VoucherRule.java
View file @
78e60522
...
...
@@ -120,6 +120,11 @@ public class VoucherRule {
* 修改时间
*/
private
Date
dataChangeLastTime
;
/**
* 是否多球场抵用券 0,否 , 1 是
*/
private
int
multiple
;
@Id
@GeneratedValue
(
strategy
=
IDENTITY
)
...
...
@@ -308,4 +313,15 @@ public class VoucherRule {
this
.
createdTime
=
createdTime
;
}
@Column
(
name
=
"multiple"
)
public
int
getMultiple
()
{
return
multiple
;
}
public
void
setMultiple
(
int
multiple
)
{
this
.
multiple
=
multiple
;
}
}
src/main/java/com/ctrip/fun/golf/service/basic/VoucherService.java
View file @
78e60522
This diff is collapsed.
Click to expand it.
src/main/java/com/ctrip/fun/golf/service/order/AbstractOrderService.java
View file @
78e60522
...
...
@@ -23,8 +23,11 @@ import com.ctrip.fun.common.vo.PagedResponseBean;
import
com.ctrip.fun.common.vo.Response
;
import
com.ctrip.fun.common.vo.ResponseStatusEnum
;
import
com.ctrip.fun.common.vo.basic.AbstractRuleConditionBean
;
import
com.ctrip.fun.common.vo.basic.CourseRuleConditionBaseBean
;
import
com.ctrip.fun.common.vo.basic.MultipleCourseConditionBean
;
import
com.ctrip.fun.common.vo.order.AbstractOrderBean
;
import
com.ctrip.fun.common.vo.order.AbstractOrderListItemBean
;
import
com.ctrip.fun.common.vo.order.CourseOrderResourceBean
;
import
com.ctrip.fun.common.vo.order.CustomerInfoBean
;
import
com.ctrip.fun.common.vo.order.InvoiceBean
;
import
com.ctrip.fun.common.vo.order.OrderCallBackBean
;
...
...
@@ -49,12 +52,15 @@ import com.ctrip.fun.golf.dao.user.UserExtDao;
import
com.ctrip.fun.golf.domain.basic.Voucher
;
import
com.ctrip.fun.golf.domain.basic.VoucherRule
;
import
com.ctrip.fun.golf.domain.order.CustomerInfo
;
import
com.ctrip.fun.golf.domain.order.EventActivityOrderItem
;
import
com.ctrip.fun.golf.domain.order.InsuranceInfo
;
import
com.ctrip.fun.golf.domain.order.InsuranceProcess
;
import
com.ctrip.fun.golf.domain.order.Invoiceinfo
;
import
com.ctrip.fun.golf.domain.order.Order
;
import
com.ctrip.fun.golf.domain.user.UserExt
;
import
com.ctrip.fun.golf.exceptions.OrderException
;
import
com.ctrip.fun.golf.exceptions.VoucherException
;
import
com.ctrip.fun.golf.service.basic.VoucherService
;
import
com.ctrip.fun.golf.service.payment.OrderPaymentService
;
import
com.ctrip.fun.golf.service.user.UserExtService
;
import
com.ctrip.fun.insurance.vo.internal.InsuranceInfoVO
;
...
...
@@ -87,6 +93,9 @@ public abstract class AbstractOrderService<H extends AbstractOrderBean<T>, T> ex
private
InsuranceProcessService
insuranceProcessService
=
null
;
private
VoucherService
voucherService
=
null
;
private
UserExtService
userExtService
=
null
;
protected
abstract
void
sendMessage
(
Order
order
,
int
messageId
);
...
...
@@ -679,17 +688,31 @@ public abstract class AbstractOrderService<H extends AbstractOrderBean<T>, T> ex
if
(
voucherRule
==
null
)
{
throw
new
OrderException
(-
10
,
"抵用券规则不存在"
);
}
// 判断是否可用于此资源
AbstractRuleConditionBean
abstractRuleConditionBean
=
null
;
try
{
abstractRuleConditionBean
=
(
AbstractRuleConditionBean
)
JsonUtil
.
readValue
(
voucherRule
.
getConditionJson
(),
Class
.
forName
(
voucherRule
.
getConditionBean
()));
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
OrderException
(-
10
,
"抵用券规则条件转化错误"
);
if
(
voucherRule
.
getMultiple
()==
0
){
// 判断是否可用于此资源
AbstractRuleConditionBean
abstractRuleConditionBean
=
null
;
try
{
abstractRuleConditionBean
=
(
AbstractRuleConditionBean
)
JsonUtil
.
readValue
(
voucherRule
.
getConditionJson
(),
Class
.
forName
(
voucherRule
.
getConditionBean
()));
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
OrderException
(-
10
,
"抵用券规则条件转化错误"
);
}
checkVourcherConditionBean
(
abstractRuleConditionBean
,
abstractOrderBean
);
}
else
{
MultipleCourseConditionBean
bean
=
null
;
try
{
bean
=
(
MultipleCourseConditionBean
)
JsonUtil
.
readValue
(
voucherRule
.
getConditionJson
(),
Class
.
forName
(
voucherRule
.
getConditionBean
()));
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
OrderException
(-
10
,
"抵用券规则条件转化错误"
);
}
checkVourcherConditionBean
(
bean
,
abstractOrderBean
);
}
checkVourcherConditionBean
(
abstractRuleConditionBean
,
abstractOrderBean
);
// checkVourcherConditionBean(abstractRuleConditionBean, abstractOrderBean);
}
}
}
}
...
...
@@ -700,6 +723,21 @@ public abstract class AbstractOrderService<H extends AbstractOrderBean<T>, T> ex
@SuppressWarnings
(
"rawtypes"
)
protected
abstract
void
checkVourcherConditionBean
(
AbstractRuleConditionBean
abstractRuleConditionBean
,
H
abstractOrderBean
);
protected
abstract
void
checkVourcherConditionBean
(
MultipleCourseConditionBean
multipleCourseConditionBean
,
H
abstractOrderBean
);
/*@SuppressWarnings("rawtypes")
protected void checkVourcherConditionBean(MultipleCourseConditionBean multipleCourseConditionBean, EventActivityOrderBean abstractOrderBean){
CourseResource courseResource = courseResourceDao.findById(abstractOrderBean.getResourceList().get(0).getResourceId());
CourseRuleConditionBaseBean courseRuleConditionBaseBean = new CourseRuleConditionBaseBean();
courseRuleConditionBaseBean.setResourceId(courseResource.getId());
courseRuleConditionBaseBean.setProductId(courseResource.getProductId());
courseRuleConditionBaseBean.setPlayDate(abstractOrderBean.getResourceList().get(0).getPlayDate());
if (!multipleCourseConditionBean.isEnableUse(courseRuleConditionBaseBean)) {
throw new OrderException(-10, "抵用券不满足规则条件");
}
}*/
/**
* @param abstractOrderBean
*/
...
...
@@ -918,9 +956,12 @@ public abstract class AbstractOrderService<H extends AbstractOrderBean<T>, T> ex
sendConfirmMsg
(
order
);
}
if
(
order
.
getVoucherAmount
().
doubleValue
()
>
0
)
{
if
(
this
.
voucherDao
.
useVoucher
(
order
.
getVoucherIDList
(),
order
.
getOrderNo
())
!=
order
.
getVoucherCount
())
{
throw
new
OrderException
(-
100
,
"您的抵用劵使用错误"
);
}
List
<
VoucherItemBean
>
beanlist
=
abstractOrderBean
.
getVoucherList
();
if
(
beanlist
.
size
()>
0
){
for
(
VoucherItemBean
bean:
beanlist
){
voucherDao
.
useVoucher
(
bean
.
getId
()+
""
,
order
.
getOrderNo
(),
bean
.
getAmount
());
}
}
}
if
(
order
.
getPrePayCardAmount
().
doubleValue
()
>
0
)
{
if
(
this
.
userExtDao
.
deductAmount
(
order
.
getUid
(),
order
.
getPrePayCardAmount
())
>=
1
)
{
...
...
@@ -941,6 +982,7 @@ public abstract class AbstractOrderService<H extends AbstractOrderBean<T>, T> ex
return
response
;
}
}
protected
abstract
void
createAndSendInsureRequest
(
H
abstractOrderBean
,
Order
order
);
...
...
@@ -1263,4 +1305,12 @@ public abstract class AbstractOrderService<H extends AbstractOrderBean<T>, T> ex
public
void
setUserExtService
(
UserExtService
userExtService
)
{
this
.
userExtService
=
userExtService
;
}
public
VoucherService
getVoucherService
()
{
return
voucherService
;
}
public
void
setVoucherService
(
VoucherService
voucherService
)
{
this
.
voucherService
=
voucherService
;
}
}
src/main/java/com/ctrip/fun/golf/service/order/CommuneOrderService.java
View file @
78e60522
...
...
@@ -15,6 +15,7 @@ import com.ctrip.fun.common.core.util.StringUtils;
import
com.ctrip.fun.common.vo.PagedResponseBean
;
import
com.ctrip.fun.common.vo.Response
;
import
com.ctrip.fun.common.vo.basic.AbstractRuleConditionBean
;
import
com.ctrip.fun.common.vo.basic.MultipleCourseConditionBean
;
import
com.ctrip.fun.common.vo.basic.VipGradeEnum
;
import
com.ctrip.fun.common.vo.operation.ResourceConfirmTypeEnum
;
import
com.ctrip.fun.common.vo.order.AbstractOrderListItemBean
;
...
...
@@ -477,4 +478,12 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean,
protected
void
createAndSendInsureRequest
(
CommuneOrderBean
abstractOrderBean
,
Order
order
)
{
// TODO Auto-generated method stub
}
@Override
protected
void
checkVourcherConditionBean
(
MultipleCourseConditionBean
multipleCourseConditionBean
,
CommuneOrderBean
abstractOrderBean
)
{
// TODO Auto-generated method stub
}
}
src/main/java/com/ctrip/fun/golf/service/order/CourseOrderService.java
View file @
78e60522
...
...
@@ -24,6 +24,7 @@ import com.ctrip.fun.common.vo.advert.CampaignBillActionEnum;
import
com.ctrip.fun.common.vo.advert.CampaignStatusActionEnum
;
import
com.ctrip.fun.common.vo.basic.AbstractRuleConditionBean
;
import
com.ctrip.fun.common.vo.basic.CourseRuleConditionBaseBean
;
import
com.ctrip.fun.common.vo.basic.MultipleCourseConditionBean
;
import
com.ctrip.fun.common.vo.basic.VoucherTypeEnum
;
import
com.ctrip.fun.common.vo.notification.EventTypeEnum
;
import
com.ctrip.fun.common.vo.notification.InventoryChangedByOrderEventBodyBean
;
...
...
@@ -1169,4 +1170,12 @@ public class CourseOrderService extends AbstractOrderService<CourseOrderBean, Co
this
.
operationMessageService
=
operationMessageService
;
}
@Override
protected
void
checkVourcherConditionBean
(
MultipleCourseConditionBean
multipleCourseConditionBean
,
CourseOrderBean
abstractOrderBean
)
{
// TODO Auto-generated method stub
}
}
src/main/java/com/ctrip/fun/golf/service/order/EventActivityOrderService.java
View file @
78e60522
...
...
@@ -20,7 +20,9 @@ import com.ctrip.fun.common.core.util.StringUtils;
import
com.ctrip.fun.common.vo.PagedResponseBean
;
import
com.ctrip.fun.common.vo.Response
;
import
com.ctrip.fun.common.vo.basic.AbstractRuleConditionBean
;
import
com.ctrip.fun.common.vo.basic.CourseRuleConditionBaseBean
;
import
com.ctrip.fun.common.vo.basic.EventActivityRuleConditionBaseBean
;
import
com.ctrip.fun.common.vo.basic.MultipleCourseConditionBean
;
import
com.ctrip.fun.common.vo.basic.VipGradeEnum
;
import
com.ctrip.fun.common.vo.basic.VoucherTypeEnum
;
import
com.ctrip.fun.common.vo.notification.EventTypeEnum
;
...
...
@@ -1530,4 +1532,15 @@ public class EventActivityOrderService extends
this
.
resourceInventoryDao
=
resourceInventoryDao
;
}
@Override
protected
void
checkVourcherConditionBean
(
MultipleCourseConditionBean
multipleCourseConditionBean
,
EventActivityOrderBean
abstractOrderBean
)
{
CourseResource
courseResource
=
courseResourceDao
.
findById
(
abstractOrderBean
.
getResourceList
().
get
(
0
).
getResourceId
());
CourseRuleConditionBaseBean
courseRuleConditionBaseBean
=
new
CourseRuleConditionBaseBean
();
courseRuleConditionBaseBean
.
setResourceId
(
courseResource
.
getId
());
courseRuleConditionBaseBean
.
setProductId
(
courseResource
.
getProductId
());
courseRuleConditionBaseBean
.
setPlayDate
(
abstractOrderBean
.
getResourceList
().
get
(
0
).
getPlayDate
());
if
(!
multipleCourseConditionBean
.
isEnableUse
(
courseRuleConditionBaseBean
))
{
throw
new
OrderException
(-
10
,
"抵用券不满足规则条件"
);
}
}
}
src/main/java/com/ctrip/fun/golf/service/order/EventCustomerInfoService.java
View file @
78e60522
...
...
@@ -117,6 +117,27 @@ public class EventCustomerInfoService extends
return
num
;
}
public
int
updateEventCustomerByPlayerNum
(
Integer
orderId
,
List
<
Integer
>
playerNum
){
List
<
EventCustomerInfo
>
eventCustomerInfos
=
eventCustomerInfoDao
.
getAllCustomerInfoListByOrderId
(
orderId
);
int
validNum
=
0
;
if
(
eventCustomerInfos
!=
null
){
for
(
int
i
=
0
;
i
<
playerNum
.
size
();
i
++)
{
int
playerId
=
playerNum
.
get
(
i
).
intValue
();
for
(
int
j
=
0
;
j
<
eventCustomerInfos
.
size
();
j
++)
{
if
((
playerId
==
(
j
+
1
))
&&
eventCustomerInfos
.
get
(
j
).
getValidFlag
()){
//取消站位
validNum
++;
this
.
eventCustomerInfoDao
.
updateCustomerById
(
eventCustomerInfos
.
get
(
j
).
getEventCustomerId
(),
false
);
break
;
}
}
}
}
return
validNum
;
}
public
List
<
EventCustomerInfoBean
>
getEventCustomerInfoRankList
(
EventCustomerInfoQuery
eventCustomerInfoQuery
)
{
...
...
src/main/java/com/ctrip/fun/golf/service/order/OpCourseOrderService.java
View file @
78e60522
...
...
@@ -51,6 +51,7 @@ import com.ctrip.fun.golf.dao.advert.CampaignDao;
import
com.ctrip.fun.golf.dao.assemble.AsmCourseResourceDao
;
import
com.ctrip.fun.golf.dao.basic.DistrictDao
;
import
com.ctrip.fun.golf.dao.basic.VoucherDao
;
import
com.ctrip.fun.golf.dao.basic.VoucherRuleDao
;
import
com.ctrip.fun.golf.dao.finance.CourseBalanceDao
;
import
com.ctrip.fun.golf.dao.finance.CourseBalanceTxnDao
;
import
com.ctrip.fun.golf.dao.finance.CoursePayeeDao
;
...
...
@@ -68,6 +69,7 @@ import com.ctrip.fun.golf.domain.advert.CampaignBill;
import
com.ctrip.fun.golf.domain.assemble.AsmCourseresource
;
import
com.ctrip.fun.golf.domain.basic.OperationMessage
;
import
com.ctrip.fun.golf.domain.basic.Voucher
;
import
com.ctrip.fun.golf.domain.basic.VoucherRule
;
import
com.ctrip.fun.golf.domain.finance.CourseBalance
;
import
com.ctrip.fun.golf.domain.finance.CourseBalanceTxn
;
import
com.ctrip.fun.golf.domain.finance.CoursePayee
;
...
...
@@ -120,6 +122,8 @@ public class OpCourseOrderService extends AbstractOpOrderService<CourseOrderProc
private
VoucherDao
voucherDao
=
null
;
private
VoucherRuleDao
voucherRuleDao
=
null
;
private
CourseResourceService
courseResourceService
=
null
;
private
EventDao
eventDao
=
null
;
...
...
@@ -1229,7 +1233,15 @@ public class OpCourseOrderService extends AbstractOpOrderService<CourseOrderProc
this
.
voucherDao
=
voucherDao
;
}
public
CourseResourceService
getCourseResourceService
()
{
public
VoucherRuleDao
getVoucherRuleDao
()
{
return
voucherRuleDao
;
}
public
void
setVoucherRuleDao
(
VoucherRuleDao
voucherRuleDao
)
{
this
.
voucherRuleDao
=
voucherRuleDao
;
}
public
CourseResourceService
getCourseResourceService
()
{
return
courseResourceService
;
}
...
...
src/main/java/com/ctrip/fun/golf/service/order/OpEventActivityOrderService.java
View file @
78e60522
...
...
@@ -13,9 +13,12 @@ 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.JsonUtil
;
import
com.ctrip.fun.common.vo.PagedResponseBean
;
import
com.ctrip.fun.common.vo.Response
;
import
com.ctrip.fun.common.vo.ResponseStatusEnum
;
import
com.ctrip.fun.common.vo.basic.CourseRuleConditionBaseBean
;
import
com.ctrip.fun.common.vo.basic.MultipleCourseConditionBean
;
import
com.ctrip.fun.common.vo.basic.VoucherBean
;
import
com.ctrip.fun.common.vo.basic.VourcherUsedEnum
;
import
com.ctrip.fun.common.vo.finance.CourseBalanceArrivalStatusEnum
;
...
...
@@ -44,6 +47,7 @@ import com.ctrip.fun.common.vo.product.ResourceRealTimeTeeTimeTypeEnum;
import
com.ctrip.fun.golf.dao.assemble.AsmCourseResourceDao
;
import
com.ctrip.fun.golf.dao.basic.DistrictDao
;
import
com.ctrip.fun.golf.dao.basic.VoucherDao
;
import
com.ctrip.fun.golf.dao.basic.VoucherRuleDao
;
import
com.ctrip.fun.golf.dao.finance.CourseBalanceDao
;
import
com.ctrip.fun.golf.dao.finance.CourseBalanceTxnDao
;
import
com.ctrip.fun.golf.dao.notification.EventDao
;
...
...
@@ -59,6 +63,7 @@ import com.ctrip.fun.golf.dao.product.ResourcePriceDao;
import
com.ctrip.fun.golf.dao.user.UserExtDao
;
import
com.ctrip.fun.golf.domain.basic.OperationMessage
;
import
com.ctrip.fun.golf.domain.basic.Voucher
;
import
com.ctrip.fun.golf.domain.basic.VoucherRule
;
import
com.ctrip.fun.golf.domain.finance.CourseBalance
;
import
com.ctrip.fun.golf.domain.finance.CourseBalanceTxn
;
import
com.ctrip.fun.golf.domain.notification.Event
;
...
...
@@ -69,6 +74,7 @@ import com.ctrip.fun.golf.domain.order.EventActivityOrderListExcel;
import
com.ctrip.fun.golf.domain.order.Invoiceinfo
;
import
com.ctrip.fun.golf.domain.order.Order
;
import
com.ctrip.fun.golf.domain.order.OrderAssignment
;
import
com.ctrip.fun.golf.domain.order.OrderItem
;
import
com.ctrip.fun.golf.domain.order.OrderPayinfo
;
import
com.ctrip.fun.golf.domain.order.OrderProcessLog
;
import
com.ctrip.fun.golf.domain.product.CourseProduct
;
...
...
@@ -107,6 +113,8 @@ public class OpEventActivityOrderService
private
VoucherDao
voucherDao
=
null
;
private
VoucherRuleDao
voucherRuleDao
=
null
;
private
CourseResourceService
courseResourceService
=
null
;
private
EventDao
eventDao
=
null
;
...
...
@@ -320,7 +328,7 @@ public class OpEventActivityOrderService
orderProcessBean
.
getQuantity
());
Order
order
=
getOrderDao
().
findById
(
orderProcessBean
.
getOrderId
());
if
(
orderProcessBean
.
getCashRebate
()
!=
null
)
{
order
.
setCashRebate
(
orderProcessBean
.
getCashRebate
());
}
...
...
@@ -343,12 +351,24 @@ public class OpEventActivityOrderService
.
doubleValue
()
+
orderProcessBean
.
getPrePayCardRefundAmount
()));
this
.
userExtDao
.
addAmount
(
order
.
getUid
(),
BigDecimal
.
valueOf
(
orderProcessBean
.
getPrePayCardRefundAmount
()));
if
(!
isManual
){
//赛事这边鼓励只退余额给用户, 替代退金额
BigDecimal
refundDelta
=
BigDecimal
.
valueOf
(
prePayCardRefundAmount
.
doubleValue
()
+
orderProcessBean
.
getPrePayCardRefundAmount
())
.
subtract
(
order
.
getPrePayCardAmount
());
logger
.
info
(
"赛事余额退款差值"
+
refundDelta
.
intValue
());
if
(
refundDelta
.
compareTo
(
BigDecimal
.
ZERO
)
==
1
){
//超出他原有用余额付款的金额, 超出部分对冲银行卡付款的金额
order
.
setRefundAmount
(
refundDelta
);
}
}
}
if
(
orderProcessBean
.
getRefundVoucherIds
()
!=
null
)
{
double
refundVoucher
=
0
;
for
(
Integer
id
:
orderProcessBean
.
getRefundVoucherIds
())
{
Voucher
voucher
=
this
.
voucherDao
.
findById
(
id
);
if
(
voucher
!=
null
&&
voucher
.
getUsed
()
==
VourcherUsedEnum
.
UNUSED
.
getKey
())
{
logger
.
warn
(
voucher
.
getId
()
+
":未使用"
);
continue
;
...
...
@@ -400,11 +420,11 @@ public class OpEventActivityOrderService
|
OrderStatusBitEnum
.
REFUNDED
.
getValue
());
if
(
order
.
getTotalAmount
()
.
subtract
(
order
.
getPrePayCardRefundAmount
()
.
subtract
(
order
.
getPrePayCardRefundAmount
()
.
add
(
order
.
getVoucherRefundAmount
().
add
(
order
.
getRefundAmount
()))
.
add
(
order
.
getOnPayAmount
())).
doubleValue
()
<=
0
)
{
//代表全退掉了
order
.
setProcessStatus
(
order
.
getProcessStatus
()
|
OrderStatusBitEnum
.
ALL_UNSUBSCRIBED
.
getValue
());
order
.
setProcessStatus
(
order
.
getProcessStatus
()
...
...
@@ -477,7 +497,47 @@ public class OpEventActivityOrderService
this
.
courseResourceService
.
addInventory
(
resourceInventoryQuery
,
orderItems
.
get
(
0
)
.
getQuantity
());
}
}
}
else
if
(
/*(orderProcessBean.getRefundAmount() != null && orderProcessBean
.getRefundAmount() > 0)
|| (orderProcessBean.getPrePayCardRefundAmount() != null && orderProcessBean
.getPrePayCardRefundAmount() > 0)*/
orderProcessBean
.
getOperateType
()
==
OrderProcessEnum
.
REFUND_PART
.
getOperationCode
())
{
//部分退款逻辑
//取消占位
String
playerNum
=
orderProcessBean
.
getPlayerNum
();
String
[]
playerNumArray
=
playerNum
.
split
(
","
);
List
<
Integer
>
players
=
new
ArrayList
<
Integer
>();
if
(
playerNumArray
.
length
==
0
){
if
(
playerNum
.
trim
()
!=
null
&&
!
""
.
equals
(
playerNum
)){
players
.
add
(
Integer
.
valueOf
(
playerNum
.
trim
()));
}
}
else
{
for
(
String
playerNumStr
:
playerNumArray
)
{
if
(
playerNumStr
.
trim
()
!=
null
&&
!
""
.
equals
(
playerNumStr
)){
players
.
add
(
Integer
.
valueOf
(
playerNumStr
.
trim
()));
}
}
}
//add by caosy 预付中的非全部退款,返还库存
List
<
EventActivityOrderItem
>
orderItems
=
this
.
eventActivityOrderItemDao
.
getOrderItemByOrderId
(
order
.
getOrderId
());
if
(
orderItems
!=
null
&&
orderItems
.
size
()
>
0
&&
order
.
getConfirmType
()
==
ResourceConfirmTypeEnum
.
AUTO
.
getValue
())
{
//重新设置退款人数
int
validNum
=
this
.
eventCustomerInfoService
.
updateEventCustomerByPlayerNum
(
order
.
getOrderId
(),
players
);
orderProcessBean
.
setQuantity
(
orderItems
.
get
(
0
).
getQuantity
()-
validNum
);
ResourceInventoryQuery
resourceInventoryQuery
=
new
ResourceInventoryQuery
();
resourceInventoryQuery
.
setResourceCategory
(
ResourceCategoryEnum
.
COURSE
.
getValue
());
resourceInventoryQuery
.
setResourceId
(
orderItems
.
get
(
0
).
getResourceId
());
resourceInventoryQuery
.
setTheDate
(
orderItems
.
get
(
0
).
getPlayDate
());
logger
.
info
(
"addInventory1 orderNo="
+
order
.
getOrderNo
()
+
"ResourceId="
+
orderItems
.
get
(
0
).
getResourceId
());
this
.
courseResourceService
.
addInventory
(
resourceInventoryQuery
,
orderItems
.
get
(
0
).
getQuantity
()
-
orderProcessBean
.
getQuantity
());
}
}
}
@Override
...
...
@@ -705,6 +765,21 @@ public class OpEventActivityOrderService
for
(
Voucher
voucher
:
vouchers
)
{
VoucherBean
voucherBean
=
new
VoucherBean
();
BeanConverter
.
copyProperties
(
voucherBean
,
voucher
);
VoucherRule
rule
=
this
.
voucherRuleDao
.
findById
(
voucher
.
getRuleId
());
if
(
rule
.
getMultiple
()==
1
){
try
{
MultipleCourseConditionBean
bean
=
(
MultipleCourseConditionBean
)
JsonUtil
.
readValue
(
rule
.
getConditionJson
(),
Class
.
forName
(
rule
.
getConditionBean
()));
CourseRuleConditionBaseBean
t
=
new
CourseRuleConditionBaseBean
();
t
.
setPlayDate
(
orderItem
.
getPlayDate
());
t
.
setResourceId
(
orderItem
.
getResourceId
());
t
.
setProductId
(
orderItem
.
getCourseProductId
());
bean
.
getEnableAmount
(
t
);
voucherBean
.
setAmount
(
bean
.
getEnableAmount
(
t
));
}
catch
(
ClassNotFoundException
e
)
{
e
.
printStackTrace
();
}
}
voucherBeans
.
add
(
voucherBean
);
}
}
...
...
@@ -916,7 +991,15 @@ public class OpEventActivityOrderService
this
.
voucherDao
=
voucherDao
;
}
public
CourseResourceService
getCourseResourceService
()
{
public
VoucherRuleDao
getVoucherRuleDao
()
{
return
voucherRuleDao
;
}
public
void
setVoucherRuleDao
(
VoucherRuleDao
voucherRuleDao
)
{
this
.
voucherRuleDao
=
voucherRuleDao
;
}
public
CourseResourceService
getCourseResourceService
()
{
return
courseResourceService
;
}
...
...
src/main/java/com/ctrip/fun/golf/service/order/RechargeOrderService.java
View file @
78e60522
...
...
@@ -16,6 +16,7 @@ import com.ctrip.fun.common.core.util.StringUtils;
import
com.ctrip.fun.common.vo.PagedResponseBean
;
import
com.ctrip.fun.common.vo.Response
;
import
com.ctrip.fun.common.vo.basic.AbstractRuleConditionBean
;
import
com.ctrip.fun.common.vo.basic.MultipleCourseConditionBean
;
import
com.ctrip.fun.common.vo.client.RechargeDiscountVO
;
import
com.ctrip.fun.common.vo.operation.ResourceConfirmTypeEnum
;
import
com.ctrip.fun.common.vo.order.AbstractOrderListItemBean
;
...
...
@@ -429,4 +430,12 @@ public class RechargeOrderService extends AbstractOrderService<RechargeOrderBean
}
@Override
protected
void
checkVourcherConditionBean
(
MultipleCourseConditionBean
multipleCourseConditionBean
,
RechargeOrderBean
abstractOrderBean
)
{
// TODO Auto-generated method stub
}
}
src/main/java/com/ctrip/fun/golf/service/order/TourOrderService.java
View file @
78e60522
...
...
@@ -23,6 +23,7 @@ import com.ctrip.fun.common.core.util.JsonUtil;
import
com.ctrip.fun.common.vo.PagedResponseBean
;
import
com.ctrip.fun.common.vo.Response
;
import
com.ctrip.fun.common.vo.basic.AbstractRuleConditionBean
;
import
com.ctrip.fun.common.vo.basic.MultipleCourseConditionBean
;
import
com.ctrip.fun.common.vo.basic.VoucherTypeEnum
;
import
com.ctrip.fun.common.vo.operation.ResourceConfirmTypeEnum
;
import
com.ctrip.fun.common.vo.order.OrderQuery
;
...
...
@@ -962,4 +963,12 @@ public class TourOrderService extends AbstractOrderService<TourOrderBean, TourOr
this
.
overTimeMinute
=
overTimeMinute
;
}
@Override
protected
void
checkVourcherConditionBean
(
MultipleCourseConditionBean
multipleCourseConditionBean
,
TourOrderBean
abstractOrderBean
)
{
// TODO Auto-generated method stub
}
}
src/main/java/com/ctrip/fun/mall/service/order/MallOrderService.java
View file @
78e60522
...
...
@@ -24,6 +24,7 @@ import com.ctrip.fun.common.vo.basic.AbstractRuleConditionBean;
import
com.ctrip.fun.common.vo.basic.ExpressBean
;
import
com.ctrip.fun.common.vo.basic.ExpressStatusEnum
;
import
com.ctrip.fun.common.vo.basic.MallProductRuleConditionBaseBean
;
import
com.ctrip.fun.common.vo.basic.MultipleCourseConditionBean
;
import
com.ctrip.fun.common.vo.basic.SmsBean
;
import
com.ctrip.fun.common.vo.basic.SmsStatus
;
import
com.ctrip.fun.common.vo.basic.VoucherTypeEnum
;
...
...
@@ -1302,4 +1303,12 @@ public class MallOrderService extends AbstractOrderService<MallOrderBean, MallOr
// TODO Auto-generated method stub
}
@Override
protected
void
checkVourcherConditionBean
(
MultipleCourseConditionBean
multipleCourseConditionBean
,
MallOrderBean
abstractOrderBean
)
{
// TODO Auto-generated method stub
}
}
src/main/resources/basic.spring.xml
View file @
78e60522
...
...
@@ -91,6 +91,8 @@
<property
name=
"courseResourceDao"
ref=
"courseResourceDao"
></property>
<property
name=
"smsDao"
ref=
"smsDao"
></property>
<property
name=
"operationMessageDao"
ref=
"operationMessageDao"
></property>
<property
name=
"orderDao"
ref=
"orderDao"
></property>
<property
name=
"eventActivityOrderItemDao"
ref=
"eventActivityOrderItemDao"
></property>
<property
name=
"remindExpireVoucherDay"
value=
"${remindExpireVoucherDay}"
></property>
</bean>
...
...
src/main/resources/order.spring.xml
View file @
78e60522
...
...
@@ -110,6 +110,7 @@
<property
name=
"insuranceProcessDao"
ref=
"insuranceProcessDao"
></property>
<property
name=
"insuranceProcessService"
ref=
"insuranceProcessService"
></property>
<property
name=
"userExtService"
ref=
"userExtService"
></property>
<property
name=
"voucherService"
ref=
"voucherService"
></property>
</bean>
<bean
name=
"courseOrderService"
class=
"com.ctrip.fun.golf.service.order.CourseOrderService"
parent=
"abstractOrderService"
>
...
...
@@ -280,6 +281,7 @@
<property
name=
"courseBalanceTxnDao"
ref=
"courseBalanceTxnDao"
></property>
<property
name=
"supplierDao"
ref=
"supplierDao"
></property>
<property
name=
"voucherDao"
ref=
"voucherDao"
></property>
<property
name=
"voucherRuleDao"
ref=
"voucherRuleDao"
></property>
<property
name=
"courseResourceService"
ref=
"courseResourceService"
></property>
<property
name=
"eventDao"
ref=
"eventDao"
></property>
<property
name=
"eventActivityOrderService"
ref=
"eventActivityOrderService"
></property>
...
...
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