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
9ded255c
authored
Sep 13, 2018
by
chongli
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
小程序赛事相关接口和调试
parent
3c84a98b
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
73 additions
and
19 deletions
src/main/java/com/ctrip/fun/golf/api/order/AbstractOrderController.java
src/main/java/com/ctrip/fun/golf/api/order/EventActivityOrderController.java
src/main/java/com/ctrip/fun/golf/dao/order/OrderDao.java
src/main/java/com/ctrip/fun/golf/domain/payment/WeiXinAtcion.java
src/main/java/com/ctrip/fun/golf/service/order/AbstractOrderService.java
src/main/java/com/ctrip/fun/golf/service/order/EventActivityOrderService.java
src/test/java/com/ctrip/fun/golf/dao/statistics/user/UserOrderBehaviourStatisticsDaoTest.java
src/main/java/com/ctrip/fun/golf/api/order/AbstractOrderController.java
View file @
9ded255c
...
...
@@ -45,11 +45,7 @@ public abstract class AbstractOrderController<H extends AbstractOrderBean<T>, T,
@RequestMapping
(
value
=
"/placeOrderWeiXinPay"
,
method
=
RequestMethod
.
POST
)
public
Response
<
JSONObject
>
placeOrderWeiXinPay
(
@RequestBody
Request
<
H
>
request
)
{
Response
<
JSONObject
>
response
=
new
Response
<
JSONObject
>();
try
{
response
=
this
.
getOrderService
().
placeOrderWeiXinPay
(
request
.
getBody
());
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
response
=
this
.
getOrderService
().
placeOrderWeiXinPay
(
request
.
getBody
());
return
response
;
}
...
...
src/main/java/com/ctrip/fun/golf/api/order/EventActivityOrderController.java
View file @
9ded255c
...
...
@@ -23,6 +23,7 @@ import com.ctrip.fun.common.vo.order.EventActivityOrderResourceBean;
import
com.ctrip.fun.common.vo.order.LatestOnGoingOrderOverTimeInfoQuery
;
import
com.ctrip.fun.common.vo.order.LatestOnGoingOrderOverTimeInfoResponseBean
;
import
com.ctrip.fun.common.vo.order.OrderStatusEnum
;
import
com.ctrip.fun.common.vo.product.EventActivityCheckQuery
;
import
com.ctrip.fun.golf.domain.order.Order
;
import
com.ctrip.fun.golf.service.order.AbstractOrderService
;
import
com.ctrip.fun.golf.service.order.EventActivityOrderService
;
...
...
@@ -65,4 +66,16 @@ public class EventActivityOrderController extends AbstractOrderController<EventA
return
response
;
}
}
@ResponseBody
@RequestMapping
(
value
=
"/checkHasWaittingDealOrders"
,
method
=
RequestMethod
.
POST
)
public
Response
<
String
>
checkHasWaittingDealOrders
(
@RequestBody
Request
<
EventActivityCheckQuery
>
request
)
{
Response
<
String
>
response
=
new
Response
<
String
>();
response
.
setStatus
(
ResponseStatusEnum
.
SUCCESS
.
getValue
());
response
.
setBody
(
eventActivityOrderService
.
checkHasWaittingDealOrders
(
request
.
getBody
()));
response
.
setMessage
(
""
);
return
response
;
}
}
src/main/java/com/ctrip/fun/golf/dao/order/OrderDao.java
View file @
9ded255c
...
...
@@ -736,7 +736,34 @@ public class OrderDao extends GenericHibernateDao<Order, Integer> {
criteria
.
add
(
Restrictions
.
in
(
"orderId"
,
orderIds
));
return
criteria
.
list
();
}
//查询某个人在某个资源、某个时间、包含有指定打球人的待支付订单的id
public
List
<
Order
>
queryEventActivityWaittingDealOrders
(
Date
priceDate
,
String
uid
,
int
resourceId
,
List
<
String
>
mobileNos
)
{
StringBuffer
sqlBuffer
=
new
StringBuffer
(
"SELECT DISTINCT orderId from ord_customerinfo where OrderID in ("
);
sqlBuffer
.
append
(
"SELECT a.OrderID from ord_order a LEFT JOIN ord_eventactivityorderitem b on a.OrderID=b.orderId "
);
sqlBuffer
.
append
(
"where a.uid=:uid and resourceId=:resourceId and playDate=:playDate and a.ProcessStatus&64<>64 and a.ProcessStatus&16<>16"
);
sqlBuffer
.
append
(
") and MobileNo in (:mobileNos)"
);
Session
session
=
this
.
getSession
();
Query
query
=
session
.
createSQLQuery
(
sqlBuffer
.
toString
());
query
.
setParameter
(
"uid"
,
uid
);
query
.
setParameter
(
"resourceId"
,
resourceId
);
query
.
setParameter
(
"playDate"
,
priceDate
);
query
.
setParameterList
(
"mobileNos"
,
mobileNos
);
query
.
setResultTransformer
(
Transformers
.
ALIAS_TO_ENTITY_MAP
);
List
<
Map
<
String
,
Object
>>
list
=
query
.
list
();
if
(
list
==
null
||
list
.
isEmpty
())
{
return
null
;
}
List
<
Integer
>
orderIds
=
new
ArrayList
<
Integer
>();
for
(
Map
<
String
,
Object
>
map
:
list
)
{
orderIds
.
add
((
Integer
)
map
.
get
(
"orderId"
));
}
Criteria
criteria
=
this
.
getCriteria
();
criteria
.
add
(
Restrictions
.
in
(
"orderId"
,
orderIds
));
return
criteria
.
list
();
}
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";
...
...
src/main/java/com/ctrip/fun/golf/domain/payment/WeiXinAtcion.java
View file @
9ded255c
...
...
@@ -26,12 +26,13 @@ public class WeiXinAtcion {
* @param refund_fee1 计划退款的金额(以“元”为单位)
* @throws Exception
*/
public
static
Map
<
String
,
String
>
wechatRefund
(
String
out_trade_no
,
int
all_total_fee
,
int
refund_fee
)
throws
Exception
{
public
static
Map
<
String
,
String
>
wechatRefund
(
String
out_trade_no
,
int
all_total_fee
,
int
refund_fee
,
String
notify_url
)
throws
Exception
{
SortedMap
<
Object
,
Object
>
packageParams
=
new
TreeMap
<
Object
,
Object
>();
packageParams
.
put
(
"appid"
,
Configure
.
getAppID
());
packageParams
.
put
(
"mch_id"
,
Configure
.
getMch_id
());
packageParams
.
put
(
"op_user_id"
,
Configure
.
getMch_id
());
packageParams
.
put
(
"nonce_str"
,
WXUtil
.
generate
());
packageParams
.
put
(
"notify_url"
,
notify_url
);
packageParams
.
put
(
"out_trade_no"
,
out_trade_no
);
packageParams
.
put
(
"out_refund_no"
,
WXUtil
.
generate
());
packageParams
.
put
(
"total_fee"
,
String
.
valueOf
(
all_total_fee
));
...
...
@@ -96,6 +97,7 @@ public class WeiXinAtcion {
result
.
put
(
"signType"
,
"MD5"
);
result
.
put
(
"paySign"
,
WXUtil
.
createSign_ChooseWXPay
(
"UTF-8"
,
params
,
Configure
.
getKey
()));
result
.
put
(
"return_code"
,
"Success"
);
result
.
put
(
"orderNo"
,
out_trade_no
);
}
else
{
result
.
put
(
"return_code"
,
"Fail"
);
result
.
put
(
"return_msg"
,
map
.
get
(
"fail"
));
...
...
src/main/java/com/ctrip/fun/golf/service/order/AbstractOrderService.java
View file @
9ded255c
...
...
@@ -228,7 +228,7 @@ public abstract class AbstractOrderService<H extends AbstractOrderBean<T>, T> ex
return
null
;
}
public
Response
<
JSONObject
>
placeOrderWeiXinPay
(
H
abstractOrderBean
)
throws
Exception
{
public
Response
<
JSONObject
>
placeOrderWeiXinPay
(
H
abstractOrderBean
){
this
.
checkParameters
(
abstractOrderBean
);
if
(
this
.
beforePlaceOrder
(
abstractOrderBean
))
{
this
.
adjustOrderPayAmount
(
abstractOrderBean
);
...
...
@@ -1139,9 +1139,6 @@ public abstract class AbstractOrderService<H extends AbstractOrderBean<T>, T> ex
this
.
checkPrePayCard
(
order
);
this
.
checkVoucher
(
order
);
Response
<
JSONObject
>
response
=
new
Response
<
JSONObject
>();
response
.
setStatus
(
0
);
response
.
setMessage
(
"异常"
);
BigDecimal
invoiceAmount
=
order
.
getInvoiceAmount
()
==
null
?
new
BigDecimal
(
0
)
:
order
.
getInvoiceAmount
();
BigDecimal
postageAmount
=
order
.
getPostageAmount
()
==
null
?
new
BigDecimal
(
0
)
:
order
.
getPostageAmount
();
...
...
@@ -1156,6 +1153,8 @@ public abstract class AbstractOrderService<H extends AbstractOrderBean<T>, T> ex
try
{
jSONObject
=
WeiXinAtcion
.
weixinPlay
(
userExt
.
getMiniAppOpenId
(),
needPayAmount
.
multiply
(
new
BigDecimal
(
"100"
)).
intValue
(),
order
.
getOrderNo
()+
""
,
this
.
getNotifyUrlForWeiXinPay
(
order
),
"dingqiu"
);
}
catch
(
Exception
e
)
{
response
.
setStatus
(
ResponseStatusEnum
.
FAIL
.
getValue
());
response
.
setMessage
(
"支付异常"
);
e
.
printStackTrace
();
}
if
(
"Success"
.
equals
(
jSONObject
.
get
(
"return_code"
).
toString
()))
{
...
...
@@ -1216,11 +1215,11 @@ public abstract class AbstractOrderService<H extends AbstractOrderBean<T>, T> ex
createAndSendInsureRequest
(
abstractOrderBean
,
order
);
order
.
setInsuranceStatus
(
OrderInsuranceStatusEnum
.
INSURED
.
getValue
());
}
//更新vip会员信息
this
.
updateVipmemberInfo
(
order
);
this
.
getOrderDao
().
update
(
order
);
response
.
setStatus
(
ResponseStatusEnum
.
SUCCESS
.
getValue
());
response
.
setMessage
(
"请求成功"
);
return
response
;
}
...
...
src/main/java/com/ctrip/fun/golf/service/order/EventActivityOrderService.java
View file @
9ded255c
...
...
@@ -560,6 +560,17 @@ public class EventActivityOrderService extends
return
true
;
}
public
String
checkHasWaittingDealOrders
(
EventActivityCheckQuery
query
){
int
resourceId
=
query
.
getResourceId
();
Date
priceDate
=
DateUtil
.
parseDate
(
query
.
getPriceDate
());
List
<
Order
>
list
=
this
.
getOrderDao
().
queryEventActivityWaittingDealOrders
(
priceDate
,
query
.
getUid
(),
resourceId
,
query
.
getPlayers
());
if
(
list
!=
null
&&
list
.
size
()>
0
){
return
list
.
get
(
0
).
getOrderNo
()+
""
;
}
return
""
;
}
private
boolean
checkRealTimeTeeTime
(
EventActivityOrderBean
eventActivityOrderBean
)
{
if
(
eventActivityOrderBean
.
getRealTimeTeeTimeType
()
==
null
)
{
// 老版本没有实时TeeTime字段
...
...
src/test/java/com/ctrip/fun/golf/dao/statistics/user/UserOrderBehaviourStatisticsDaoTest.java
View file @
9ded255c
...
...
@@ -4,6 +4,10 @@ import java.io.File;
import
java.io.FileInputStream
;
import
java.io.FileReader
;
import
java.io.InputStreamReader
;
import
java.text.DateFormat
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
...
...
@@ -62,13 +66,15 @@ public class UserOrderBehaviourStatisticsDaoTest {
}
@Test
public
void
testOrderUpdate
()
{
String
xml
=
"<xml><appid><![CDATA[wx51a2695abf1a0b12]]></appid><bank_type><![CDATA[CFT]]></bank_type><cash_fee><![CDATA[1]]></cash_fee><fee_type><![CDATA[CNY]]></fee_type><is_subscribe><![CDATA[N]]></is_subscribe><mch_id><![CDATA[1276126201]]></mch_id><nonce_str><![CDATA[b4b7c21fcf674c07bf958ca7277fc8e4]]></nonce_str><openid><![CDATA[orY7M4s7zl49RM76YW406I1pJBtg]]></openid><out_trade_no><![CDATA[15366316128222]]></out_trade_no><result_code><![CDATA[SUCCESS]]></result_code><return_code><![CDATA[SUCCESS]]></return_code><sign><![CDATA[A3B1178255A110BE36755D67DE1521B1]]></sign><time_end><![CDATA[20180911100700]]></time_end><total_fee>1</total_fee><trade_type><![CDATA[JSAPI]]></trade_type><transaction_id><![CDATA[4200000167201809117404876092]]></transaction_id></xml>"
;
try
{
eventActivityNotifyService
.
notifyForWeiXinPay
(
xml
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
public
void
testOrderUpdate
()
throws
Exception
{
List
<
String
>
mobileNos
=
new
ArrayList
<
String
>();
mobileNos
.
add
(
"15555555555"
);
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
...
...
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