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
237a2dc7
authored
Sep 20, 2022
by
caosy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
会员专享抵扣劵
parent
b7fe6454
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
157 additions
and
21 deletions
src/main/java/com/ctrip/fun/golf/api/basic/VoucherController.java
src/main/java/com/ctrip/fun/golf/dao/basic/VoucherDao.java
src/main/java/com/ctrip/fun/golf/dao/order/OrderDao.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/VoucherRuleService.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/AbstractNotifyService.java
src/main/java/com/ctrip/fun/golf/service/payment/CommuneNotifyService.java
src/main/java/com/ctrip/fun/golf/service/user/UserService.java
src/main/resources/debug/jdbc.properties
src/main/resources/development/jdbc.properties
src/main/resources/order.spring.xml
src/main/resources/test/jdbc.properties
src/main/java/com/ctrip/fun/golf/api/basic/VoucherController.java
View file @
237a2dc7
...
...
@@ -210,7 +210,17 @@ public class VoucherController {
return
response
;
}
@ResponseBody
@RequestMapping
(
value
=
"/queryListForActivityOrder"
,
method
=
RequestMethod
.
POST
)
public
Response
<
PagedResponseBean
<
VoucherItemDTO
>>
queryListForActivityOrder
(
@RequestBody
Request
<
VoucherQueryDto
>
request
)
{
Response
<
PagedResponseBean
<
VoucherItemDTO
>>
response
=
new
Response
<
PagedResponseBean
<
VoucherItemDTO
>>();
PagedResponseBean
<
VoucherItemDTO
>
result
=
voucherService
.
queryListForActivityOrder
(
request
.
getBody
());
response
.
setBody
(
result
);
response
.
setStatusEnum
(
ResponseStatusEnum
.
SUCCESS
);
return
response
;
}
@ResponseBody
@RequestMapping
(
value
=
"/queryListForCourseOrder"
,
method
=
RequestMethod
.
POST
)
...
...
src/main/java/com/ctrip/fun/golf/dao/basic/VoucherDao.java
View file @
237a2dc7
...
...
@@ -569,7 +569,12 @@ public class VoucherDao extends GenericHibernateDao<Voucher, Integer> {
.
append
(
DateUtil
.
getDateStr
(
queryBean
.
getPlayDate
())).
append
(
"'"
);
}
if
(
queryBean
.
getType
()
!=
null
&&
queryBean
.
getType
()
!=
0
)
{
sb
.
append
(
" and v.type="
).
append
(
queryBean
.
getType
());
if
(
queryBean
.
getType
()
==
6
||
queryBean
.
getType
()
==
7
||
queryBean
.
getType
()
==
8
){
sb
.
append
(
" and (v.type= "
).
append
(
queryBean
.
getType
()).
append
(
" or v.type= 9)"
);
}
else
{
sb
.
append
(
" and v.type="
).
append
(
queryBean
.
getType
());
}
}
if
(
StringUtils
.
hasText
(
queryBean
.
getUid
()))
{
sb
.
append
(
" and v.uid='"
).
append
(
queryBean
.
getUid
()).
append
(
"'"
);
...
...
src/main/java/com/ctrip/fun/golf/dao/order/OrderDao.java
View file @
237a2dc7
...
...
@@ -2374,7 +2374,7 @@ public class OrderDao extends GenericHibernateDao<Order, Integer> {
*/
public
PagedResponseBean
<
VoucherOrderListBean
>
queryVoucherOrderList
(
OpOrderQuery
orderQuery
)
{
StringBuffer
sql
=
new
StringBuffer
();
sql
.
append
(
" SELECT sql_calc_found_rows distinct a.orderNo,a.OrderID orderId,a.orderName,a.orderDate,a.actualAmount,a.orderStatus,a.orderType,"
);
sql
.
append
(
" SELECT sql_calc_found_rows distinct a.orderNo,a.OrderID orderId,a.orderName,a.orderDate,a.actualAmount,a.orderStatus,a.orderType,
a.voucherAmount,
"
);
sql
.
append
(
" a.payMode,a.processStatus,a.uid,e.bindedMobilePhone orderPhone,e.userName orderUserName,a.orderSource,a.orderCategory,a.platform,"
);
sql
.
append
(
" b.activityId,b.recommendUid,d.userName recommendUserName,d.bindedMobilePhone recommendPhone"
);
sql
.
append
(
" FROM ord_order a LEFT JOIN ord_communeitem b ON a.OrderID = b.OrderID"
);
...
...
@@ -2426,7 +2426,7 @@ public class OrderDao extends GenericHibernateDao<Order, Integer> {
Session
session
=
this
.
getSession
();
Query
query
=
session
.
createSQLQuery
(
sql
.
toString
())
.
addScalar
(
"orderNo"
,
StandardBasicTypes
.
LONG
)
.
addScalar
(
"orderNo"
,
StandardBasicTypes
.
LONG
)
.
addScalar
(
"voucherAmount"
,
StandardBasicTypes
.
BIG_DECIMAL
)
.
addScalar
(
"orderId"
,
StandardBasicTypes
.
INTEGER
).
addScalar
(
"orderName"
,
StandardBasicTypes
.
STRING
)
.
addScalar
(
"orderDate"
,
StandardBasicTypes
.
TIMESTAMP
).
addScalar
(
"actualAmount"
,
StandardBasicTypes
.
BIG_DECIMAL
)
.
addScalar
(
"orderStatus"
,
StandardBasicTypes
.
STRING
).
addScalar
(
"orderType"
,
StandardBasicTypes
.
INTEGER
)
...
...
src/main/java/com/ctrip/fun/golf/dao/product/BuyVoucherActivityDao.java
View file @
237a2dc7
...
...
@@ -70,6 +70,9 @@ public class BuyVoucherActivityDao extends GenericHibernateDao<BuyVoucherActivit
if
(
null
!=
queryBean
.
getOverdueCanBuy
()&&
!
""
.
equals
(
queryBean
.
getOverdueCanBuy
())
&&
0
!=
queryBean
.
getOverdueCanBuy
())
{
criteria
.
add
(
Restrictions
.
eq
(
"overdueCanBuy"
,
queryBean
.
getOverdueCanBuy
()));
}
if
(
null
!=
queryBean
.
getActivityType
()&&
!
""
.
equals
(
queryBean
.
getOverdueCanBuy
())
&&
0
!=
queryBean
.
getActivityType
())
{
criteria
.
add
(
Restrictions
.
eq
(
"activityType"
,
queryBean
.
getActivityType
()));
}
criteria
.
setFirstResult
(
queryBean
.
getPagerOffset
());
criteria
.
setMaxResults
(
queryBean
.
getPagerPerPage
());
if
(
queryBean
.
getSortDirection
().
equals
(
SortDirectionEnum
.
ASC
))
{
...
...
@@ -77,6 +80,7 @@ public class BuyVoucherActivityDao extends GenericHibernateDao<BuyVoucherActivit
}
else
{
criteria
.
addOrder
(
Order
.
desc
(
queryBean
.
getSortField
()));
}
System
.
out
.
println
(
criteria
);
List
<
BuyVoucherActivity
>
result
=
criteria
.
list
();
criteria
.
setFirstResult
(
0
);
Long
count
=
(
Long
)
criteria
.
setProjection
(
Projections
.
rowCount
()).
uniqueResult
();
...
...
src/main/java/com/ctrip/fun/golf/domain/product/BuyVoucherActivity.java
View file @
237a2dc7
...
...
@@ -53,7 +53,7 @@ public class BuyVoucherActivity implements java.io.Serializable {
private
Integer
voucherType
;
//卷类型 1 -正常卷 2-体验卷需要身份证
private
Integer
showPaths
;
//显示途径 1-App 2-小程序 3-全部
private
Integer
overdueCanBuy
;
//过期会员购买 1-不可以 2-可以
private
Integer
activityType
;
//产品类型 1-套票 2-培训产品 3-超级会员 4-实体
@Id
@GeneratedValue
(
strategy
=
IDENTITY
)
@Column
(
name
=
"id"
,
unique
=
true
)
...
...
@@ -292,4 +292,12 @@ public class BuyVoucherActivity implements java.io.Serializable {
public
void
setOverdueCanBuy
(
Integer
overdueCanBuy
)
{
this
.
overdueCanBuy
=
overdueCanBuy
;
}
public
Integer
getActivityType
()
{
return
activityType
;
}
public
void
setActivityType
(
Integer
activityType
)
{
this
.
activityType
=
activityType
;
}
}
src/main/java/com/ctrip/fun/golf/service/basic/VoucherRuleService.java
View file @
237a2dc7
...
...
@@ -243,14 +243,25 @@ public class VoucherRuleService extends
try
{
JSONObject
json
=
JSONObject
.
parseObject
(
voucherRule
.
getConditionJson
());
Integer
type
=
json
.
getInteger
(
"type"
);
if
(
voucherRule
.
getMultiple
()!=
1
){
if
(
type
==
2
){
json
.
put
(
"value"
,
validateToParse
(
vo
.
getProdutIds
()));
json
.
put
(
"resourceIds"
,
validateToParse
(
vo
.
getResourceIds
()));
json
.
put
(
"productStartDate"
,
vo
.
getProductStartDate
());
json
.
put
(
"productEndDate"
,
vo
.
getProductEndDate
());
voucherRule
.
setConditionJson
(
json
.
toJSONString
());
}
// if(voucherRule.getMultiple()!=1 ){
// if(type == 2){
// json.put("value", validateToParse(vo.getProdutIds()));
// json.put("resourceIds", validateToParse(vo.getResourceIds()));
// json.put("productStartDate", vo.getProductStartDate());
// json.put("productEndDate", vo.getProductEndDate());
// voucherRule.setConditionJson(json.toJSONString());
// }
if
(
type
!=
null
){
if
(
voucherRule
.
getMultiple
()!=
1
){
if
(
type
==
2
){
json
.
put
(
"value"
,
validateToParse
(
vo
.
getProdutIds
()));
json
.
put
(
"resourceIds"
,
validateToParse
(
vo
.
getResourceIds
()));
json
.
put
(
"productStartDate"
,
vo
.
getProductStartDate
());
json
.
put
(
"productEndDate"
,
vo
.
getProductEndDate
());
voucherRule
.
setConditionJson
(
json
.
toJSONString
());
}
}
}
voucherRule
.
setEndUseDate
(
vo
.
getEndUseDate
());
voucherRule
.
setStartUseDate
(
vo
.
getStartUseDate
());
...
...
src/main/java/com/ctrip/fun/golf/service/basic/VoucherService.java
View file @
237a2dc7
...
...
@@ -32,12 +32,16 @@ import com.ctrip.fun.common.vo.basic.ConditionMultipleElement;
import
com.ctrip.fun.common.vo.basic.CourseRuleConditionBaseBean
;
import
com.ctrip.fun.common.vo.basic.CourseRuleConditionBean
;
import
com.ctrip.fun.common.vo.basic.EventActivityRuleConditionBaseBean
;
import
com.ctrip.fun.common.vo.basic.
EventActivityRuleCondition
Bean
;
import
com.ctrip.fun.common.vo.basic.
GeneralVoucherRuleConditionBase
Bean
;
import
com.ctrip.fun.common.vo.basic.MallProductRuleConditionBaseBean
;
import
com.ctrip.fun.common.vo.basic.MallProductRuleConditionBean
;
import
com.ctrip.fun.common.vo.basic.MultipleCourseConditionBean
;
import
com.ctrip.fun.common.vo.basic.SmsStatus
;
import
com.ctrip.fun.common.vo.basic.SmsType
;
import
com.ctrip.fun.common.vo.basic.PhysicalVoucherRuleConditionBaseBean
;
import
com.ctrip.fun.common.vo.basic.TicketVoucherRuleConditionBaseBean
;
import
com.ctrip.fun.common.vo.basic.TrainVoucherRuleConditionBaseBean
;
import
com.ctrip.fun.common.vo.basic.VipVoucherRuleConditionBaseBean
;
import
com.ctrip.fun.common.vo.basic.VoucherGetLogBean
;
import
com.ctrip.fun.common.vo.basic.VoucherItemDTO
;
import
com.ctrip.fun.common.vo.basic.VoucherQueryDto
;
...
...
@@ -430,6 +434,90 @@ public class VoucherService {
pagedResponseBean
.
setResult
(
result
);
return
pagedResponseBean
;
}
/**
* 套票券 培训券 会员劵 可用抵用券加载
* @param query
* @return
*/
@SuppressWarnings
({
"rawtypes"
,
"unchecked"
})
public
PagedResponseBean
<
VoucherItemDTO
>
queryListForActivityOrder
(
VoucherQueryDto
query
)
{
PagedResponseBean
<
VoucherItemDTO
>
pagedResponseBean
=
voucherDao
.
queryListForOrder
(
query
);
Collection
<
VoucherItemDTO
>
result
=
new
ArrayList
<
VoucherItemDTO
>();
if
(
pagedResponseBean
!=
null
&&
pagedResponseBean
.
getResult
()
!=
null
)
{
for
(
VoucherItemDTO
vo
:
pagedResponseBean
.
getResult
())
{
if
(
vo
.
getRuleId
()
!=
null
&&
vo
.
getRuleId
()
!=
0
)
{
VoucherRule
voucherRule
=
voucherRuleDao
.
findById
(
vo
.
getRuleId
());
if
(
voucherRule
!=
null
)
{
vo
.
setDescription
(
voucherRule
.
getDescription
());
vo
.
setRemark
(
voucherRule
.
getRemark
());
vo
.
setMultiple
(
voucherRule
.
getMultiple
());
AbstractRuleConditionBean
abstractRuleConditionBean
=
null
;
try
{
abstractRuleConditionBean
=
(
AbstractRuleConditionBean
)
JsonUtil
.
readValue
(
voucherRule
.
getConditionJson
(),
Class
.
forName
(
voucherRule
.
getConditionBean
()));
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
e
.
printStackTrace
();
}
if
(
vo
.
getType
()
==
VoucherTypeEnum
.
PHYSICAL_VOUCHER
.
getValue
()){
// 实物
PhysicalVoucherRuleConditionBaseBean
physicalVoucherRuleConditionBaseBean
=
new
PhysicalVoucherRuleConditionBaseBean
();
physicalVoucherRuleConditionBaseBean
.
setBuyDate
(
query
.
getPlayDate
());
physicalVoucherRuleConditionBaseBean
.
setProductId
(
query
.
getProductId
());
if
(!
abstractRuleConditionBean
.
isEnableUse
(
physicalVoucherRuleConditionBaseBean
))
{
continue
;
}
}
else
if
(
vo
.
getType
()
==
VoucherTypeEnum
.
VIP_VOUCHER
.
getValue
()){
// 会员券(入社、续费)
VipVoucherRuleConditionBaseBean
vipVoucherRuleConditionBaseBean
=
new
VipVoucherRuleConditionBaseBean
();
vipVoucherRuleConditionBaseBean
.
setBuyDate
(
query
.
getPlayDate
());
vipVoucherRuleConditionBaseBean
.
setProductId
(
query
.
getProductId
());
if
(!
abstractRuleConditionBean
.
isEnableUse
(
vipVoucherRuleConditionBaseBean
))
{
continue
;
}
}
else
if
(
vo
.
getType
()
==
VoucherTypeEnum
.
TICKET_VOUCHER
.
getValue
()){
// 套票
TicketVoucherRuleConditionBaseBean
ticketVoucherRuleConditionBaseBean
=
new
TicketVoucherRuleConditionBaseBean
();
ticketVoucherRuleConditionBaseBean
.
setBuyDate
(
query
.
getPlayDate
());
ticketVoucherRuleConditionBaseBean
.
setProductId
(
query
.
getProductId
());
if
(!
abstractRuleConditionBean
.
isEnableUse
(
ticketVoucherRuleConditionBaseBean
))
{
continue
;
}
}
else
if
(
vo
.
getType
()
==
VoucherTypeEnum
.
TRAIN_VOUCHER
.
getValue
()){
// 培训券
TrainVoucherRuleConditionBaseBean
trainVoucherRuleConditionBaseBean
=
new
TrainVoucherRuleConditionBaseBean
();
trainVoucherRuleConditionBaseBean
.
setBuyDate
(
query
.
getPlayDate
());
trainVoucherRuleConditionBaseBean
.
setProductId
(
query
.
getProductId
());
if
(!
abstractRuleConditionBean
.
isEnableUse
(
trainVoucherRuleConditionBaseBean
))
{
continue
;
}
}
else
if
(
vo
.
getType
()
==
VoucherTypeEnum
.
GENERAL_VOUCHER
.
getValue
()){
//通用
GeneralVoucherRuleConditionBaseBean
generalVoucherRuleConditionBaseBean
=
new
GeneralVoucherRuleConditionBaseBean
();
generalVoucherRuleConditionBaseBean
.
setBuyDate
(
query
.
getPlayDate
());
generalVoucherRuleConditionBaseBean
.
setProductId
(
query
.
getProductId
());
if
(!
abstractRuleConditionBean
.
isEnableUse
(
generalVoucherRuleConditionBaseBean
))
{
continue
;
}
}
if
(
query
.
getAmount
().
compareTo
(
vo
.
getAmount
())
<=
0
)
{
continue
;
}
this
.
setOnlyMe
(
vo
,
abstractRuleConditionBean
.
getOnlyMe
());
vo
.
doExecuteNullField
();
result
.
add
(
vo
);
}
}
}
}
pagedResponseBean
.
setResult
(
result
);
return
pagedResponseBean
;
}
/**
* 单订场 可用抵用券加载
* @param query
...
...
src/main/java/com/ctrip/fun/golf/service/order/CommuneOrderService.java
View file @
237a2dc7
This diff is collapsed.
Click to expand it.
src/main/java/com/ctrip/fun/golf/service/payment/AbstractNotifyService.java
View file @
237a2dc7
...
...
@@ -196,6 +196,7 @@ public abstract class AbstractNotifyService extends CorePaymentService {
if
(
order
.
getOrderSource
()
==
OrderSourceEnum
.
OFFLINE
.
getKey
()){
// offline
order
.
setOrderType
(
1
);
order
.
setOrderUserStatus
(
2
);
}
else
if
(
order
.
getOrderSource
()
==
OrderSourceEnum
.
HOMEBREW
.
getKey
()){
// Homebrew
order
.
setOrderSource
(
OrderSourceEnum
.
HOMEBREW
.
getKey
());
...
...
src/main/java/com/ctrip/fun/golf/service/payment/CommuneNotifyService.java
View file @
237a2dc7
...
...
@@ -128,6 +128,14 @@ public class CommuneNotifyService extends AbstractNotifyService {
amount
=
amount
.
multiply
(
new
BigDecimal
(
100
));
WeiXinAtcion
.
weixinPlay1
(
user
.
getMiniAppOpenId
(),
amount
.
toString
().
substring
(
0
,
amount
.
toString
().
length
()
-
3
),
order
.
getOrderNo
(),
buyVoucherActivity
.
getSendName
(),
buyVoucherActivity
.
getActName
(),
buyVoucherActivity
.
getWishing
());
}
// 优惠券状态
if
(!
""
.
equals
(
order
.
getVoucherIDList
())
&&
order
.
getVoucherIDList
()
!=
null
){
String
[]
voucherIds
=
order
.
getVoucherIDList
().
split
(
","
);
voucherService
.
userVoucher
(
voucherIds
.
length
,
order
.
getOrderNo
(),
order
.
getVoucherIDList
());
}
}
}
return
null
;
...
...
src/main/java/com/ctrip/fun/golf/service/user/UserService.java
View file @
237a2dc7
...
...
@@ -1729,7 +1729,7 @@ public class UserService {
if
(
userExt
==
null
)
{
return
null
;
}
UserBean
userBean
=
new
UserBean
();
BeanConverter
.
copyProperties
(
userBean
,
userExt
);
userBean
.
setBirth
(
userExt
.
getBirth
());
...
...
src/main/resources/debug/jdbc.properties
View file @
237a2dc7
jdbc.url
=
jdbc:mysql://
192.168.10.5
:3306/fundb?useUnicode=true&characterEncoding=UTF8
jdbc.url
=
jdbc:mysql://
60.205.179.217
:3306/fundb?useUnicode=true&characterEncoding=UTF8
jdbc.username
=
root
jdbc.password
=
root
jdbc.job.url
=
jdbc:mysql://
192.168.10.5
:3306/funtaskdb?useUnicode=true&characterEncoding=UTF8
jdbc.job.url
=
jdbc:mysql://
60.205.179.217
:3306/funtaskdb?useUnicode=true&characterEncoding=UTF8
jdbc.job.username
=
root
jdbc.job.password
=
root
jdbc.job.defaultAutoCommit
=
true
src/main/resources/development/jdbc.properties
View file @
237a2dc7
jdbc.url
=
jdbc:mysql://
192.168.10.5
:3306/fundb?useUnicode=true&characterEncoding=UTF8
jdbc.url
=
jdbc:mysql://
60.205.179.217
:3306/fundb?useUnicode=true&characterEncoding=UTF8
jdbc.username
=
root
jdbc.password
=
root
jdbc.job.url
=
jdbc:mysql://
192.168.10.5
:3306/funtaskdb?useUnicode=true&characterEncoding=UTF8
jdbc.job.url
=
jdbc:mysql://
60.205.179.217
:3306/funtaskdb?useUnicode=true&characterEncoding=UTF8
jdbc.job.username
=
root
jdbc.job.password
=
root
jdbc.job.defaultAutoCommit
=
true
src/main/resources/order.spring.xml
View file @
237a2dc7
...
...
@@ -206,6 +206,7 @@
<property
name=
"voucherNotifyUrlForMiniApp"
value=
"${payment.voucherNotifyUrlForMiniApp}"
></property>
<property
name=
"COMMUNE_AMOUNT"
value=
"${communeAmount}"
></property>
<property
name=
"COMMUNE_AMOUNT2"
value=
"${communeAmount2}"
></property>
<property
name=
"voucherService"
ref=
"voucherService"
></property>
</bean>
<bean
name=
"buyVoucherOrderService"
class=
"com.ctrip.fun.golf.service.order.BuyVoucherOrderService"
parent=
"abstractOrderService"
>
...
...
src/main/resources/test/jdbc.properties
View file @
237a2dc7
jdbc.url
=
jdbc:mysql://
192.168.10.5
:3306/fundb?useUnicode=true&characterEncoding=UTF8
jdbc.url
=
jdbc:mysql://
60.205.179.217
:3306/fundb?useUnicode=true&characterEncoding=UTF8
jdbc.username
=
root
jdbc.password
=
root
jdbc.job.url
=
jdbc:mysql://
192.168.10.5
:3306/funtaskdb?useUnicode=true&characterEncoding=UTF8
jdbc.job.url
=
jdbc:mysql://
60.205.179.217
:3306/funtaskdb?useUnicode=true&characterEncoding=UTF8
jdbc.job.username
=
root
jdbc.job.password
=
root
jdbc.job.defaultAutoCommit
=
true
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