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
ffc0b466
authored
Sep 16, 2018
by
chongli
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
博而地买券配置
parent
eac6a976
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
348 additions
and
28 deletions
src/main/java/com/ctrip/fun/golf/api/order/CommuneOrderController.java
src/main/java/com/ctrip/fun/golf/dao/product/BuyVoucherActivityDao.java
src/main/java/com/ctrip/fun/golf/domain/product/BuyVoucherActivity.java
src/main/java/com/ctrip/fun/golf/service/basic/VoucherService.java
src/main/java/com/ctrip/fun/golf/service/order/CommuneOrderService.java
src/main/java/com/ctrip/fun/golf/service/payment/CommuneNotifyService.java
src/main/resources/hibernate.cfg.xml
src/main/resources/order.spring.xml
src/main/resources/product.spring.xml
src/test/java/com/ctrip/fun/golf/dao/statistics/user/UserOrderBehaviourStatisticsDaoTest.java
src/main/java/com/ctrip/fun/golf/api/order/CommuneOrderController.java
View file @
ffc0b466
...
@@ -2,6 +2,8 @@
...
@@ -2,6 +2,8 @@
* Copyright 2014 CTRIP Co.,Ltd. All rights reserved.
* Copyright 2014 CTRIP Co.,Ltd. All rights reserved.
*/
*/
package
com
.
ctrip
.
fun
.
golf
.
api
.
order
;
package
com
.
ctrip
.
fun
.
golf
.
api
.
order
;
import
java.util.List
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestBody
;
...
@@ -13,9 +15,12 @@ import com.alibaba.fastjson.JSONObject;
...
@@ -13,9 +15,12 @@ import com.alibaba.fastjson.JSONObject;
import
com.ctrip.fun.common.vo.Request
;
import
com.ctrip.fun.common.vo.Request
;
import
com.ctrip.fun.common.vo.Response
;
import
com.ctrip.fun.common.vo.Response
;
import
com.ctrip.fun.common.vo.ResponseMp
;
import
com.ctrip.fun.common.vo.ResponseMp
;
import
com.ctrip.fun.common.vo.ResponseStatusEnum
;
import
com.ctrip.fun.common.vo.order.BuyVoucherActivityBean
;
import
com.ctrip.fun.common.vo.order.CommuneOrderBean
;
import
com.ctrip.fun.common.vo.order.CommuneOrderBean
;
import
com.ctrip.fun.common.vo.order.CommuneOrderListItemBean
;
import
com.ctrip.fun.common.vo.order.CommuneOrderListItemBean
;
import
com.ctrip.fun.common.vo.order.CommuneOrderResourceBean
;
import
com.ctrip.fun.common.vo.order.CommuneOrderResourceBean
;
import
com.ctrip.fun.common.vo.product.BuyVoucherActivityQuery
;
import
com.ctrip.fun.golf.service.order.AbstractOrderService
;
import
com.ctrip.fun.golf.service.order.AbstractOrderService
;
import
com.ctrip.fun.golf.service.order.CommuneOrderService
;
import
com.ctrip.fun.golf.service.order.CommuneOrderService
;
/**
/**
...
@@ -56,6 +61,41 @@ public class CommuneOrderController extends AbstractOrderController<CommuneOrder
...
@@ -56,6 +61,41 @@ public class CommuneOrderController extends AbstractOrderController<CommuneOrder
response
.
setBody
(
jSONObject
);
response
.
setBody
(
jSONObject
);
return
response
;
return
response
;
}
}
@ResponseBody
@RequestMapping
(
value
=
"/buyVoucherActivityList"
,
method
=
RequestMethod
.
POST
)
public
Response
<
List
<
BuyVoucherActivityBean
>>
getBuyVoucherActivityList
(
@RequestBody
Request
<
BuyVoucherActivityQuery
>
request
)
{
Response
<
List
<
BuyVoucherActivityBean
>>
response
=
new
Response
<
List
<
BuyVoucherActivityBean
>>();
List
<
BuyVoucherActivityBean
>
list
;
list
=
communeOrderService
.
buyVoucherActivityList
();
response
.
setStatus
(
ResponseStatusEnum
.
SUCCESS
.
getValue
());
response
.
setBody
(
list
);
return
response
;
}
@ResponseBody
@RequestMapping
(
value
=
"/getBuyVoucherActivityDetail"
,
method
=
RequestMethod
.
POST
)
public
Response
<
BuyVoucherActivityBean
>
getBuyVoucherActivityDetail
(
@RequestBody
Request
<
Integer
>
request
)
{
Response
<
BuyVoucherActivityBean
>
response
=
new
Response
<
BuyVoucherActivityBean
>();
BuyVoucherActivityBean
buyVoucherActivityBean
;
buyVoucherActivityBean
=
communeOrderService
.
getBuyVoucherActivityDetail
(
request
.
getBody
());
response
.
setStatus
(
ResponseStatusEnum
.
SUCCESS
.
getValue
());
response
.
setBody
(
buyVoucherActivityBean
);
return
response
;
}
@ResponseBody
@RequestMapping
(
value
=
"/getBuyVoucherActivityMessage"
,
method
=
RequestMethod
.
POST
)
public
Response
<
String
>
getBuyVoucherActivityMessage
(
@RequestBody
Request
<
String
>
request
)
{
Response
<
String
>
response
=
new
Response
<
String
>();
String
message
;
message
=
communeOrderService
.
getBuyVoucherActivityMessage
(
request
.
getBody
());
response
.
setStatus
(
ResponseStatusEnum
.
SUCCESS
.
getValue
());
response
.
setBody
(
message
);
return
response
;
}
@Override
@Override
protected
AbstractOrderService
<
CommuneOrderBean
,
CommuneOrderResourceBean
>
getOrderService
()
{
protected
AbstractOrderService
<
CommuneOrderBean
,
CommuneOrderResourceBean
>
getOrderService
()
{
...
...
src/main/java/com/ctrip/fun/golf/dao/product/BuyVoucherActivityDao.java
0 → 100644
View file @
ffc0b466
package
com
.
ctrip
.
fun
.
golf
.
dao
.
product
;
import
java.util.List
;
import
org.hibernate.Criteria
;
import
org.hibernate.criterion.MatchMode
;
import
org.hibernate.criterion.Order
;
import
org.hibernate.criterion.Projections
;
import
org.hibernate.criterion.Restrictions
;
import
com.ctrip.fun.common.vo.SortDirectionEnum
;
import
com.ctrip.fun.common.vo.product.BuyVoucherActivityQuery
;
import
com.ctrip.fun.golf.dao.GenericHibernateDao
;
import
com.ctrip.fun.golf.domain.product.BuyVoucherActivity
;
import
com.ctrip.fun.golf.vo.PagedEntityBean
;
/**
* @author zgsong
*
*/
public
class
BuyVoucherActivityDao
extends
GenericHibernateDao
<
BuyVoucherActivity
,
Integer
>
{
public
PagedEntityBean
<
BuyVoucherActivity
>
queryList
(
BuyVoucherActivityQuery
queryBean
)
{
Criteria
criteria
=
this
.
getCriteria
(
BuyVoucherActivity
.
class
);
if
(
null
!=
queryBean
.
getId
())
{
criteria
.
add
(
Restrictions
.
eq
(
"id"
,
queryBean
.
getId
()));
}
if
(
null
!=
queryBean
.
getActivityName
()
&&
!
""
.
equals
(
queryBean
.
getActivityName
()))
{
criteria
.
add
(
Restrictions
.
like
(
"activityName"
,
queryBean
.
getActivityName
(),
MatchMode
.
ANYWHERE
));
}
if
(
null
!=
queryBean
.
getValid
())
{
criteria
.
add
(
Restrictions
.
eq
(
"valid"
,
queryBean
.
getValid
()));
}
if
(
null
!=
queryBean
.
getCreatedTimeStart
())
{
criteria
.
add
(
Restrictions
.
ge
(
"createdTimeStart"
,
queryBean
.
getCreatedTimeStart
()));
}
if
(
null
!=
queryBean
.
getCreatedTimeEnd
())
{
criteria
.
add
(
Restrictions
.
le
(
"createdTimeEnd"
,
queryBean
.
getCreatedTimeEnd
()));
}
if
(
null
!=
queryBean
.
getUserLimit
())
{
criteria
.
add
(
Restrictions
.
eq
(
"userLimit"
,
queryBean
.
getUserLimit
()));
}
criteria
.
setFirstResult
(
queryBean
.
getPagerOffset
());
criteria
.
setMaxResults
(
queryBean
.
getPagerPerPage
());
if
(
queryBean
.
getSortDirection
().
equals
(
SortDirectionEnum
.
ASC
))
{
criteria
.
addOrder
(
Order
.
asc
(
queryBean
.
getSortField
()));
}
else
{
criteria
.
addOrder
(
Order
.
desc
(
queryBean
.
getSortField
()));
}
List
<
BuyVoucherActivity
>
result
=
criteria
.
list
();
criteria
.
setFirstResult
(
0
);
Long
count
=
(
Long
)
criteria
.
setProjection
(
Projections
.
rowCount
()).
uniqueResult
();
PagedEntityBean
<
BuyVoucherActivity
>
pagedEntityBean
=
new
PagedEntityBean
<
BuyVoucherActivity
>();
pagedEntityBean
.
setCount
(
count
);
pagedEntityBean
.
setResult
(
result
);
return
pagedEntityBean
;
}
}
src/main/java/com/ctrip/fun/golf/domain/product/BuyVoucherActivity.java
0 → 100644
View file @
ffc0b466
package
com
.
ctrip
.
fun
.
golf
.
domain
.
product
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.Temporal
;
import
javax.persistence.TemporalType
;
import
static
javax
.
persistence
.
GenerationType
.
IDENTITY
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
/**
*买券活动
*
* @author zgsong
*
*/
@Entity
@Table
(
name
=
"prd_buyVoucherActivity"
)
public
class
BuyVoucherActivity
implements
java
.
io
.
Serializable
{
/**
* serialVersionUID
*/
private
static
final
long
serialVersionUID
=
-
8821033173307829967L
;
private
Integer
id
;
private
String
activityName
;
// 活动名称
private
String
imagePath
;
// 本次活动图片
private
String
thumPath
;
// 本次活动缩略图
private
BigDecimal
communePrice
;
// 会员价格
private
BigDecimal
guestPrice
;
// 嘉宾价
private
Integer
userLimit
;
// 购买限制
private
String
voucherConfig
;
// 本次活动的发券配置
private
String
message
;
// 购买成功后的提示
private
Integer
valid
;
// 活动有效标识1:有效 0失效
private
Integer
buyLimitTimes
;
//限制购买次数
private
Date
createdTime
;
//活动创建时间
private
Date
DataChange_LastTime
;
//最近修改时间
@Id
@GeneratedValue
(
strategy
=
IDENTITY
)
@Column
(
name
=
"id"
,
unique
=
true
)
public
Integer
getId
()
{
return
id
;
}
public
void
setId
(
Integer
id
)
{
this
.
id
=
id
;
}
@Column
(
name
=
"activityName"
)
public
String
getActivityName
()
{
return
activityName
;
}
public
void
setActivityName
(
String
activityName
)
{
this
.
activityName
=
activityName
;
}
@Column
(
name
=
"imagePath"
)
public
String
getImagePath
()
{
return
imagePath
;
}
public
void
setImagePath
(
String
imagePath
)
{
this
.
imagePath
=
imagePath
;
}
@Column
(
name
=
"thumPath"
)
public
String
getThumPath
()
{
return
thumPath
;
}
public
void
setThumPath
(
String
thumPath
)
{
this
.
thumPath
=
thumPath
;
}
@Column
(
name
=
"communePrice"
)
public
BigDecimal
getCommunePrice
()
{
return
communePrice
;
}
public
void
setCommunePrice
(
BigDecimal
communePrice
)
{
this
.
communePrice
=
communePrice
;
}
@Column
(
name
=
"guestPrice"
)
public
BigDecimal
getGuestPrice
()
{
return
guestPrice
;
}
public
void
setGuestPrice
(
BigDecimal
guestPrice
)
{
this
.
guestPrice
=
guestPrice
;
}
@Column
(
name
=
"userLimit"
)
public
Integer
getUserLimit
()
{
return
userLimit
;
}
public
void
setUserLimit
(
Integer
userLimit
)
{
this
.
userLimit
=
userLimit
;
}
@Column
(
name
=
"voucherConfig"
)
public
String
getVoucherConfig
()
{
return
voucherConfig
;
}
public
void
setVoucherConfig
(
String
voucherConfig
)
{
this
.
voucherConfig
=
voucherConfig
;
}
@Column
(
name
=
"message"
)
public
String
getMessage
()
{
return
message
;
}
public
void
setMessage
(
String
message
)
{
this
.
message
=
message
;
}
@Column
(
name
=
"valid"
)
public
Integer
getValid
()
{
return
valid
;
}
public
void
setValid
(
Integer
valid
)
{
this
.
valid
=
valid
;
}
@Temporal
(
TemporalType
.
TIMESTAMP
)
@Column
(
name
=
"DataChange_LastTime"
)
public
Date
getCreatedTime
()
{
return
createdTime
;
}
public
void
setCreatedTime
(
Date
createdTime
)
{
this
.
createdTime
=
createdTime
;
}
@org
.
hibernate
.
annotations
.
Generated
(
org
.
hibernate
.
annotations
.
GenerationTime
.
ALWAYS
)
@Temporal
(
TemporalType
.
TIMESTAMP
)
@Column
(
name
=
"DataChange_LastTime"
)
public
Date
getDataChange_LastTime
()
{
return
DataChange_LastTime
;
}
public
void
setDataChange_LastTime
(
Date
dataChange_LastTime
)
{
DataChange_LastTime
=
dataChange_LastTime
;
}
@Column
(
name
=
"buyLimitTimes"
)
public
Integer
getBuyLimitTimes
()
{
return
buyLimitTimes
;
}
public
void
setBuyLimitTimes
(
Integer
buyLimitTimes
)
{
this
.
buyLimitTimes
=
buyLimitTimes
;
}
}
src/main/java/com/ctrip/fun/golf/service/basic/VoucherService.java
View file @
ffc0b466
...
@@ -1019,7 +1019,17 @@ public class VoucherService {
...
@@ -1019,7 +1019,17 @@ public class VoucherService {
ClientConfig
clientConfig
=
clientConfigDao
.
getByType
(
voucherSendType
);
ClientConfig
clientConfig
=
clientConfigDao
.
getByType
(
voucherSendType
);
//社员订单赠送优惠券配置:431_sendBeginTime_sendEndTime(规则id_开始发送时间_结束发送方式)
//社员订单赠送优惠券配置:431_sendBeginTime_sendEndTime(规则id_开始发送时间_结束发送方式)
String
commune_voucher
=
clientConfig
.
getMessage
();
String
commune_voucher
=
clientConfig
.
getMessage
();
JSONObject
jsobj
=
JSONObject
.
parseObject
(
commune_voucher
);
this
.
sendVoucherForPlaceOrderByConfig
(
uid
,
orderId
,
myselfOrder
,
commune_voucher
);
}
/**
* 用于执行下单送券
* @param uid 得券人uid
* @param orderNo 订单id
* @param myselfOrder 是否用户自己的订单
* @param voucherSendType 发券配置的key值
*/
public
void
sendVoucherForPlaceOrderByConfig
(
String
uid
,
String
orderId
,
boolean
myselfOrder
,
String
voucherConfig
){
JSONObject
jsobj
=
JSONObject
.
parseObject
(
voucherConfig
);
try
{
try
{
Date
sendBeginTime
=
DateUtil
.
parseDateTime
(
jsobj
.
getString
(
"sendBeginTime"
));
Date
sendBeginTime
=
DateUtil
.
parseDateTime
(
jsobj
.
getString
(
"sendBeginTime"
));
Date
sendEndTime
=
DateUtil
.
parseDateTime
(
jsobj
.
getString
(
"sendEndTime"
));
Date
sendEndTime
=
DateUtil
.
parseDateTime
(
jsobj
.
getString
(
"sendEndTime"
));
...
...
src/main/java/com/ctrip/fun/golf/service/order/CommuneOrderService.java
View file @
ffc0b466
...
@@ -11,9 +11,11 @@ import java.util.List;
...
@@ -11,9 +11,11 @@ import java.util.List;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.CollectionUtils
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.ctrip.fun.common.core.util.BeanConverter
;
import
com.ctrip.fun.common.core.util.DateUtil
;
import
com.ctrip.fun.common.core.util.DateUtil
;
import
com.ctrip.fun.common.core.util.StringUtils
;
import
com.ctrip.fun.common.core.util.StringUtils
;
import
com.ctrip.fun.common.vo.PagedResponseBean
;
import
com.ctrip.fun.common.vo.PagedResponseBean
;
...
@@ -23,6 +25,7 @@ import com.ctrip.fun.common.vo.basic.MultipleCourseConditionBean;
...
@@ -23,6 +25,7 @@ import com.ctrip.fun.common.vo.basic.MultipleCourseConditionBean;
import
com.ctrip.fun.common.vo.basic.VipGradeEnum
;
import
com.ctrip.fun.common.vo.basic.VipGradeEnum
;
import
com.ctrip.fun.common.vo.operation.ResourceConfirmTypeEnum
;
import
com.ctrip.fun.common.vo.operation.ResourceConfirmTypeEnum
;
import
com.ctrip.fun.common.vo.order.AbstractOrderListItemBean
;
import
com.ctrip.fun.common.vo.order.AbstractOrderListItemBean
;
import
com.ctrip.fun.common.vo.order.BuyVoucherActivityBean
;
import
com.ctrip.fun.common.vo.order.CommuneOrderBean
;
import
com.ctrip.fun.common.vo.order.CommuneOrderBean
;
import
com.ctrip.fun.common.vo.order.CommuneOrderListItemBean
;
import
com.ctrip.fun.common.vo.order.CommuneOrderListItemBean
;
import
com.ctrip.fun.common.vo.order.CommuneOrderResourceBean
;
import
com.ctrip.fun.common.vo.order.CommuneOrderResourceBean
;
...
@@ -32,14 +35,17 @@ import com.ctrip.fun.common.vo.order.OrderStatusBitEnum;
...
@@ -32,14 +35,17 @@ import com.ctrip.fun.common.vo.order.OrderStatusBitEnum;
import
com.ctrip.fun.common.vo.order.OrderStatusEnum
;
import
com.ctrip.fun.common.vo.order.OrderStatusEnum
;
import
com.ctrip.fun.common.vo.order.PlaceOrderResponseBean
;
import
com.ctrip.fun.common.vo.order.PlaceOrderResponseBean
;
import
com.ctrip.fun.common.vo.order.UserCommuneOrderStatusEnum
;
import
com.ctrip.fun.common.vo.order.UserCommuneOrderStatusEnum
;
import
com.ctrip.fun.common.vo.product.BuyVoucherActivityQuery
;
import
com.ctrip.fun.common.vo.product.ProductPaymentTypeEnum
;
import
com.ctrip.fun.common.vo.product.ProductPaymentTypeEnum
;
import
com.ctrip.fun.golf.dao.client.ClientConfigDao
;
import
com.ctrip.fun.golf.dao.client.ClientConfigDao
;
import
com.ctrip.fun.golf.dao.order.CommuneOrderItemDao
;
import
com.ctrip.fun.golf.dao.order.CommuneOrderItemDao
;
import
com.ctrip.fun.golf.dao.product.BuyVoucherActivityDao
;
import
com.ctrip.fun.golf.domain.basic.Voucher
;
import
com.ctrip.fun.golf.domain.basic.Voucher
;
import
com.ctrip.fun.golf.domain.client.ClientConfig
;
import
com.ctrip.fun.golf.domain.client.ClientConfig
;
import
com.ctrip.fun.golf.domain.order.CommuneOrderItem
;
import
com.ctrip.fun.golf.domain.order.CommuneOrderItem
;
import
com.ctrip.fun.golf.domain.order.Order
;
import
com.ctrip.fun.golf.domain.order.Order
;
import
com.ctrip.fun.golf.domain.payment.WeiXinAtcion
;
import
com.ctrip.fun.golf.domain.payment.WeiXinAtcion
;
import
com.ctrip.fun.golf.domain.product.BuyVoucherActivity
;
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
;
import
com.ctrip.fun.golf.service.basic.OperationMessageService
;
import
com.ctrip.fun.golf.service.basic.OperationMessageService
;
...
@@ -76,8 +82,9 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean,
...
@@ -76,8 +82,9 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean,
private
String
voucherNotifyUrlForMiniApp
;
private
String
voucherNotifyUrlForMiniApp
;
private
ClientConfigDao
clientConfigDao
=
null
;
@Autowired
private
BuyVoucherActivityDao
buyVoucherActivityDao
;
...
@@ -145,11 +152,8 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean,
...
@@ -145,11 +152,8 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean,
}
}
protected
void
voucherCheckParameters
(
CommuneOrderBean
communeOrderBean
)
{
protected
void
voucherCheckParameters
(
CommuneOrderBean
communeOrderBean
)
{
ClientConfig
clientConfig
=
clientConfigDao
.
getByType
(
"buyVoucher_voucher_send"
);
BuyVoucherActivity
buyoucherActivity
=
buyVoucherActivityDao
.
findById
(
communeOrderBean
.
getActivityId
());
String
commune_voucher
=
clientConfig
.
getMessage
();
if
(
communeOrderBean
.
getPrePayAmount
().
compareTo
(
buyoucherActivity
.
getCommunePrice
())
!=
0
&&
communeOrderBean
.
getPrePayAmount
().
compareTo
(
buyoucherActivity
.
getGuestPrice
())
!=
0
){
JSONObject
jsobj
=
JSONObject
.
parseObject
(
commune_voucher
);
BigDecimal
voucher_amount
=
BigDecimal
.
valueOf
(
jsobj
.
getInteger
(
"price"
));
if
(
communeOrderBean
.
getPrePayAmount
().
compareTo
(
voucher_amount
)
!=
0
){
throw
new
OrderException
(-
41
,
"您提交的预付款金额有问题,请检查!"
);
throw
new
OrderException
(-
41
,
"您提交的预付款金额有问题,请检查!"
);
}
}
OrderQuery
queryBean
=
new
OrderQuery
();
OrderQuery
queryBean
=
new
OrderQuery
();
...
@@ -218,10 +222,11 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean,
...
@@ -218,10 +222,11 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean,
communeOrderBean
.
setLimitedEmoneyAmount
(
new
BigDecimal
(
0
));
communeOrderBean
.
setLimitedEmoneyAmount
(
new
BigDecimal
(
0
));
communeOrderBean
.
setOnPayAmount
(
new
BigDecimal
(
0
));
communeOrderBean
.
setOnPayAmount
(
new
BigDecimal
(
0
));
//社员续费 add by caosy
//社员续费 add by caosy
ClientConfig
clientConfig
=
clientConfigDao
.
getByType
(
"buyVoucher_voucher_send"
);
BuyVoucherActivity
buyoucherActivity
=
buyVoucherActivityDao
.
findById
(
communeOrderBean
.
getActivityId
());
String
commune_voucher
=
clientConfig
.
getMessage
();
if
(
buyoucherActivity
==
null
){
JSONObject
jsobj
=
JSONObject
.
parseObject
(
commune_voucher
);
throw
new
OrderException
(-
41
,
"没有对应的活动,请检查"
);
communeOrderBean
.
setOrderName
(
jsobj
.
getString
(
"activeName"
));
}
communeOrderBean
.
setOrderName
(
buyoucherActivity
.
getActivityName
());
if
(
StringUtils
.
isEmpty
(
communeOrderBean
.
getPayMode
()))
{
if
(
StringUtils
.
isEmpty
(
communeOrderBean
.
getPayMode
()))
{
communeOrderBean
.
setPayMode
(
ProductPaymentTypeEnum
.
PREPAY
.
getName
());
communeOrderBean
.
setPayMode
(
ProductPaymentTypeEnum
.
PREPAY
.
getName
());
}
}
...
@@ -292,7 +297,7 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean,
...
@@ -292,7 +297,7 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean,
communeOrderMoney
=
communeOrderBean
.
getAmount
();
communeOrderMoney
=
communeOrderBean
.
getAmount
();
}
}
try
{
try
{
JSONObject
json
=
WeiXinAtcion
.
weixinPlay
(
userExt
.
getMiniAppOpenId
(),
communeOrderMoney
.
multiply
(
new
BigDecimal
(
"100"
)).
intValue
(),
order
.
getOrderNo
()+
""
,
voucherNotifyUrlForMiniApp
,
"
buy_voucher
"
);
JSONObject
json
=
WeiXinAtcion
.
weixinPlay
(
userExt
.
getMiniAppOpenId
(),
communeOrderMoney
.
multiply
(
new
BigDecimal
(
"100"
)).
intValue
(),
order
.
getOrderNo
()+
""
,
voucherNotifyUrlForMiniApp
,
"
BUYVOUCHER
"
);
return
json
;
return
json
;
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
...
@@ -302,6 +307,34 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean,
...
@@ -302,6 +307,34 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean,
return
null
;
return
null
;
}
}
public
List
<
BuyVoucherActivityBean
>
buyVoucherActivityList
(){
List
<
BuyVoucherActivityBean
>
list
=
new
ArrayList
<
BuyVoucherActivityBean
>();
BuyVoucherActivityQuery
queryBean
=
new
BuyVoucherActivityQuery
();
queryBean
.
setValid
(
1
);
queryBean
.
setPagerOffset
(
0
);
PagedEntityBean
<
BuyVoucherActivity
>
page
=
buyVoucherActivityDao
.
queryList
(
queryBean
);
for
(
BuyVoucherActivity
activity:
page
.
getResult
()){
BuyVoucherActivityBean
bean
=
new
BuyVoucherActivityBean
();
BeanConverter
.
copyProperties
(
bean
,
activity
);
list
.
add
(
bean
);
}
return
list
;
}
public
BuyVoucherActivityBean
getBuyVoucherActivityDetail
(
Integer
id
){
BuyVoucherActivityBean
bean
=
new
BuyVoucherActivityBean
();
BeanConverter
.
copyProperties
(
bean
,
buyVoucherActivityDao
.
findById
(
id
));
return
bean
;
}
public
String
getBuyVoucherActivityMessage
(
String
orderNo
){
Order
order
=
this
.
getOrderDao
().
getOrderByOrderNo
(
Long
.
parseLong
(
orderNo
));
CommuneOrderItem
communeOrderItem
=
communeOrderItemDao
.
getByOrderId
(
order
.
getOrderId
()).
get
(
0
);
Integer
activityId
=
communeOrderItem
.
getActivityId
();
return
this
.
getBuyVoucherActivityDetail
(
activityId
).
getMessage
();
}
@Override
@Override
protected
void
afterPlaceOrder
(
CommuneOrderBean
abstractOrderBean
,
Integer
orderId
)
{
protected
void
afterPlaceOrder
(
CommuneOrderBean
abstractOrderBean
,
Integer
orderId
)
{
}
}
...
@@ -624,10 +657,4 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean,
...
@@ -624,10 +657,4 @@ public class CommuneOrderService extends AbstractOrderService<CommuneOrderBean,
// TODO Auto-generated method stub
// TODO Auto-generated method stub
}
}
public
ClientConfigDao
getClientConfigDao
()
{
return
clientConfigDao
;
}
public
void
setClientConfigDao
(
ClientConfigDao
clientConfigDao
)
{
this
.
clientConfigDao
=
clientConfigDao
;
}
}
}
src/main/java/com/ctrip/fun/golf/service/payment/CommuneNotifyService.java
View file @
ffc0b466
...
@@ -4,14 +4,18 @@
...
@@ -4,14 +4,18 @@
package
com
.
ctrip
.
fun
.
golf
.
service
.
payment
;
package
com
.
ctrip
.
fun
.
golf
.
service
.
payment
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.CollectionUtils
;
import
com.ctrip.fun.common.vo.order.OrderCategoryEnum
;
import
com.ctrip.fun.common.vo.order.OrderCategoryEnum
;
import
com.ctrip.fun.golf.dao.market.CommuneInviteActivityDao
;
import
com.ctrip.fun.golf.dao.market.CommuneInviteActivityDao
;
import
com.ctrip.fun.golf.dao.order.CommuneOrderItemDao
;
import
com.ctrip.fun.golf.dao.order.CommuneOrderItemDao
;
import
com.ctrip.fun.golf.dao.product.BuyVoucherActivityDao
;
import
com.ctrip.fun.golf.domain.order.CommuneOrderItem
;
import
com.ctrip.fun.golf.domain.order.CommuneOrderItem
;
import
com.ctrip.fun.golf.domain.order.Order
;
import
com.ctrip.fun.golf.domain.order.Order
;
import
com.ctrip.fun.golf.domain.payment.WXUtil
;
import
com.ctrip.fun.golf.domain.payment.WXUtil
;
import
com.ctrip.fun.golf.domain.product.BuyVoucherActivity
;
import
com.ctrip.fun.golf.service.basic.OperationMessageService
;
import
com.ctrip.fun.golf.service.basic.OperationMessageService
;
import
com.ctrip.fun.golf.service.basic.VoucherService
;
import
com.ctrip.fun.golf.service.basic.VoucherService
;
import
com.ctrip.fun.golf.service.market.CommuneInviteActivityService
;
import
com.ctrip.fun.golf.service.market.CommuneInviteActivityService
;
...
@@ -30,6 +34,9 @@ public class CommuneNotifyService extends AbstractNotifyService {
...
@@ -30,6 +34,9 @@ public class CommuneNotifyService extends AbstractNotifyService {
@Autowired
@Autowired
private
VoucherService
voucherService
=
null
;
private
VoucherService
voucherService
=
null
;
@Autowired
private
BuyVoucherActivityDao
buyVoucherActivityDao
=
null
;
...
@@ -78,6 +85,8 @@ public class CommuneNotifyService extends AbstractNotifyService {
...
@@ -78,6 +85,8 @@ public class CommuneNotifyService extends AbstractNotifyService {
String
ordersSn
=
notifyMap
.
get
(
"out_trade_no"
).
toString
();
//商户订单号
String
ordersSn
=
notifyMap
.
get
(
"out_trade_no"
).
toString
();
//商户订单号
//根据订单号查询订单,修改订单相关信息
//根据订单号查询订单,修改订单相关信息
Order
order
=
this
.
getOrderDao
().
getOrderByOrderNo
(
Long
.
parseLong
(
ordersSn
));
Order
order
=
this
.
getOrderDao
().
getOrderByOrderNo
(
Long
.
parseLong
(
ordersSn
));
CommuneOrderItem
communeOrderItem
=
communeOrderItemDao
.
getByOrderId
(
order
.
getOrderId
()).
get
(
0
);
BuyVoucherActivity
buyVoucherActivity
=
buyVoucherActivityDao
.
findById
(
communeOrderItem
.
getActivityId
());
try
{
try
{
this
.
getOrderDao
().
updateOrderStatusForMiniApps
(
Long
.
parseLong
(
ordersSn
));
this
.
getOrderDao
().
updateOrderStatusForMiniApps
(
Long
.
parseLong
(
ordersSn
));
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
...
@@ -85,7 +94,7 @@ public class CommuneNotifyService extends AbstractNotifyService {
...
@@ -85,7 +94,7 @@ public class CommuneNotifyService extends AbstractNotifyService {
}
}
//执行发券
//执行发券
String
uid
=
order
.
getUid
();
//下单人id
String
uid
=
order
.
getUid
();
//下单人id
voucherService
.
sendVoucherForPlaceOrder
(
uid
,
order
.
getOrderId
()+
""
,
true
,
"buyVoucher_voucher_send"
);
voucherService
.
sendVoucherForPlaceOrder
ByConfig
(
uid
,
order
.
getOrderId
()+
""
,
true
,
buyVoucherActivity
.
getVoucherConfig
()
);
}
}
}
}
return
null
;
return
null
;
...
...
src/main/resources/hibernate.cfg.xml
View file @
ffc0b466
...
@@ -33,6 +33,7 @@
...
@@ -33,6 +33,7 @@
<mapping
class=
"com.ctrip.fun.golf.domain.product.Course"
/>
<mapping
class=
"com.ctrip.fun.golf.domain.product.Course"
/>
<mapping
class=
"com.ctrip.fun.golf.domain.product.CourseFairway"
/>
<mapping
class=
"com.ctrip.fun.golf.domain.product.CourseFairway"
/>
<mapping
class=
"com.ctrip.fun.golf.domain.product.CourseProduct"
/>
<mapping
class=
"com.ctrip.fun.golf.domain.product.CourseProduct"
/>
<mapping
class=
"com.ctrip.fun.golf.domain.product.BuyVoucherActivity"
/>
<mapping
class=
"com.ctrip.fun.golf.domain.product.CourseResource"
/>
<mapping
class=
"com.ctrip.fun.golf.domain.product.CourseResource"
/>
<mapping
class=
"com.ctrip.fun.golf.domain.product.CourseZone"
/>
<mapping
class=
"com.ctrip.fun.golf.domain.product.CourseZone"
/>
...
...
src/main/resources/order.spring.xml
View file @
ffc0b466
...
@@ -198,7 +198,6 @@
...
@@ -198,7 +198,6 @@
<property
name=
"voucherNotifyUrlForMiniApp"
value=
"${payment.voucherNotifyUrlForMiniApp}"
></property>
<property
name=
"voucherNotifyUrlForMiniApp"
value=
"${payment.voucherNotifyUrlForMiniApp}"
></property>
<property
name=
"COMMUNE_AMOUNT"
value=
"${communeAmount}"
></property>
<property
name=
"COMMUNE_AMOUNT"
value=
"${communeAmount}"
></property>
<property
name=
"COMMUNE_AMOUNT2"
value=
"${communeAmount2}"
></property>
<property
name=
"COMMUNE_AMOUNT2"
value=
"${communeAmount2}"
></property>
<property
name=
"clientConfigDao"
ref=
"clientConfigDao"
></property>
</bean>
</bean>
<bean
name=
"vipmemberOrderService"
class=
"com.ctrip.fun.golf.service.order.VipMemberOrderService"
parent=
"abstractOrderService"
>
<bean
name=
"vipmemberOrderService"
class=
"com.ctrip.fun.golf.service.order.VipMemberOrderService"
parent=
"abstractOrderService"
>
...
...
src/main/resources/product.spring.xml
View file @
ffc0b466
...
@@ -16,6 +16,10 @@
...
@@ -16,6 +16,10 @@
<bean
name=
"courseProductDao"
class=
"com.ctrip.fun.golf.dao.product.CourseProductDao"
>
<bean
name=
"courseProductDao"
class=
"com.ctrip.fun.golf.dao.product.CourseProductDao"
>
<property
name=
"sessionFactory"
ref=
"sessionFactory"
></property>
<property
name=
"sessionFactory"
ref=
"sessionFactory"
></property>
</bean>
</bean>
<bean
name=
"buyVoucherActivityDao"
class=
"com.ctrip.fun.golf.dao.product.BuyVoucherActivityDao"
>
<property
name=
"sessionFactory"
ref=
"sessionFactory"
></property>
</bean>
<bean
name=
"resourceTicketDao"
class=
"com.ctrip.fun.golf.dao.product.ResourceTicketDao"
>
<bean
name=
"resourceTicketDao"
class=
"com.ctrip.fun.golf.dao.product.ResourceTicketDao"
>
<property
name=
"sessionFactory"
ref=
"sessionFactory"
></property>
<property
name=
"sessionFactory"
ref=
"sessionFactory"
></property>
...
...
src/test/java/com/ctrip/fun/golf/dao/statistics/user/UserOrderBehaviourStatisticsDaoTest.java
View file @
ffc0b466
...
@@ -16,20 +16,26 @@ import com.ctrip.fun.common.core.util.DateUtil;
...
@@ -16,20 +16,26 @@ import com.ctrip.fun.common.core.util.DateUtil;
import
com.ctrip.fun.common.vo.market.EventGameBean
;
import
com.ctrip.fun.common.vo.market.EventGameBean
;
import
com.ctrip.fun.common.vo.market.EventGameGroupBean
;
import
com.ctrip.fun.common.vo.market.EventGameGroupBean
;
import
com.ctrip.fun.common.vo.market.EventGamePlayerBean
;
import
com.ctrip.fun.common.vo.market.EventGamePlayerBean
;
import
com.ctrip.fun.common.vo.order.BuyVoucherActivityBean
;
import
com.ctrip.fun.common.vo.order.EventCustomerInfoBean
;
import
com.ctrip.fun.common.vo.order.EventCustomerInfoBean
;
import
com.ctrip.fun.common.vo.order.EventCustomerInfoQuery
;
import
com.ctrip.fun.common.vo.order.EventCustomerInfoQuery
;
import
com.ctrip.fun.common.vo.order.OrderStatusBitEnum
;
import
com.ctrip.fun.common.vo.order.OrderStatusBitEnum
;
import
com.ctrip.fun.common.vo.product.BuyVoucherActivityQuery
;
import
com.ctrip.fun.golf.dao.market.EventGameDao
;
import
com.ctrip.fun.golf.dao.market.EventGameDao
;
import
com.ctrip.fun.golf.dao.market.EventGameGroupDao
;
import
com.ctrip.fun.golf.dao.market.EventGameGroupDao
;
import
com.ctrip.fun.golf.dao.market.EventGamePlayerDao
;
import
com.ctrip.fun.golf.dao.market.EventGamePlayerDao
;
import
com.ctrip.fun.golf.dao.order.OrderDao
;
import
com.ctrip.fun.golf.dao.order.OrderDao
;
import
com.ctrip.fun.golf.dao.product.BuyVoucherActivityDao
;
import
com.ctrip.fun.golf.domain.market.EventGameGroup
;
import
com.ctrip.fun.golf.domain.market.EventGameGroup
;
import
com.ctrip.fun.golf.domain.order.Order
;
import
com.ctrip.fun.golf.domain.order.Order
;
import
com.ctrip.fun.golf.domain.product.BuyVoucherActivity
;
import
com.ctrip.fun.golf.service.market.EventGameGroupService
;
import
com.ctrip.fun.golf.service.market.EventGameGroupService
;
import
com.ctrip.fun.golf.service.market.EventGamePlayerService
;
import
com.ctrip.fun.golf.service.market.EventGamePlayerService
;
import
com.ctrip.fun.golf.service.market.EventGameService
;
import
com.ctrip.fun.golf.service.market.EventGameService
;
import
com.ctrip.fun.golf.service.order.CommuneOrderService
;
import
com.ctrip.fun.golf.service.order.EventCustomerInfoService
;
import
com.ctrip.fun.golf.service.order.EventCustomerInfoService
;
import
com.ctrip.fun.golf.service.payment.EventActivityNotifyService
;
import
com.ctrip.fun.golf.service.payment.EventActivityNotifyService
;
import
com.ctrip.fun.golf.vo.PagedEntityBean
;
import
org.junit.Test
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.junit.runner.RunWith
;
...
@@ -51,6 +57,9 @@ public class UserOrderBehaviourStatisticsDaoTest {
...
@@ -51,6 +57,9 @@ public class UserOrderBehaviourStatisticsDaoTest {
@Autowired
@Autowired
private
EventActivityNotifyService
eventActivityNotifyService
;
private
EventActivityNotifyService
eventActivityNotifyService
;
@Autowired
private
CommuneOrderService
communeOrderService
;
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
{
int
[]
status
=
new
int
[]{
23
,
100
,
20
,
276824087
,
19
,
108
,
268446996
,
0
,
276824083
,
293601303
,
16777239
,
268446999
,
12
,
3
,
96
,
268444944
,
4
,
268444947
,
16
,
276824067
,
99
,
276831511
,
5395
,
293608727
,
268447076
,
276835607
,
276829459
,
5399
,
16784663
};
int
[]
status
=
new
int
[]{
23
,
100
,
20
,
276824087
,
19
,
108
,
268446996
,
0
,
276824083
,
293601303
,
16777239
,
268446999
,
12
,
3
,
96
,
268444944
,
4
,
268444947
,
16
,
276824067
,
99
,
276831511
,
5395
,
293608727
,
268447076
,
276835607
,
276829459
,
5399
,
16784663
};
for
(
int
sta:
status
){
for
(
int
sta:
status
){
...
@@ -67,15 +76,10 @@ public class UserOrderBehaviourStatisticsDaoTest {
...
@@ -67,15 +76,10 @@ public class UserOrderBehaviourStatisticsDaoTest {
}
}
@Test
@Test
public
void
testOrderUpdate
()
throws
Exception
{
public
void
testOrderUpdate
()
throws
Exception
{
List
<
String
>
mobileNos
=
new
ArrayList
<
String
>();
BuyVoucherActivityBean
list
=
communeOrderService
.
getBuyVoucherActivityMessage
(
orderNo
)
mobileNos
.
add
(
"15555555555"
);
System
.
out
.
println
(
list
);
mobileNos
.
add
(
"18014006769"
);
DateFormat
dateFormat2
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
Date
myDate2
=
dateFormat2
.
parse
(
"2018-09-24"
);
List
<
Order
>
list
=
orderDao
.
queryEventActivityWaittingDealOrders
(
myDate2
,
"15555555555"
,
104123
,
mobileNos
);
System
.
out
.
println
(
list
.
size
());
}
}
@Test
@Test
public
void
testListOrderUser
()
throws
Exception
{
public
void
testListOrderUser
()
throws
Exception
{
...
...
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