Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
order-group
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
order-group-application
order-group
Commits
99245caf
Commit
99245caf
authored
Sep 16, 2020
by
zhiheng.zhang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
取餐码代码抽取
parent
bf63ad93
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
85 additions
and
1 deletions
+85
-1
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
+73
-0
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+12
-1
No files found.
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
View file @
99245caf
...
@@ -3152,4 +3152,77 @@ public class OrderAdapter {
...
@@ -3152,4 +3152,77 @@ public class OrderAdapter {
return
StringUtils
.
isNotBlank
(
payChannel
)
&&
OrderAdapter
.
PAY_CODE_10102
.
equalsIgnoreCase
(
payChannel
);
return
StringUtils
.
isNotBlank
(
payChannel
)
&&
OrderAdapter
.
PAY_CODE_10102
.
equalsIgnoreCase
(
payChannel
);
}
}
/**
* 生成取餐码
* @param partnerId 商户ID
* @param storeId 门店ID
* @return
*/
public
String
generateTackCode
(
String
partnerId
,
String
storeId
){
String
pickUpGoodsNo
=
generateNumber
(
6
);
String
key
=
this
.
getOrderTackCodeKey
(
partnerId
,
storeId
);
if
(!
redisTemplate
.
opsForHash
().
hasKey
(
key
,
storeId
+
pickUpGoodsNo
))
{
redisTemplate
.
opsForHash
().
put
(
key
,
storeId
+
pickUpGoodsNo
,
pickUpGoodsNo
);
redisTemplate
.
expire
(
key
,
getSecondsNextEarlyMorning
(),
TimeUnit
.
SECONDS
);
}
else
{
generateTackCode
(
partnerId
,
storeId
);
}
return
pickUpGoodsNo
;
}
/**
* 获取取餐码key
* @param partnerId
* @return
*/
public
String
getOrderTackCodeKey
(
String
partnerId
,
String
storeId
){
Date
currentDay
=
new
Date
();
String
todayStr
=
formatDate
(
currentDay
);
StringBuilder
key
=
new
StringBuilder
(
TAKECODEKEY
).
append
(
REDIS_KEY_SEP
)
.
append
(
partnerId
)
.
append
(
REDIS_KEY_SEP
)
.
append
(
storeId
)
.
append
(
REDIS_KEY_SEP
)
.
append
(
todayStr
);
return
key
.
toString
();
}
public
static
SimpleDateFormat
defaultDateFormater
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
private
String
formatDate
(
Date
date
){
return
defaultDateFormater
.
format
(
date
);
}
/**
* 返回一个定长的随机字符串(只包含大小写字母、数字)
*
* @param length
* 随机字符串长度
* @return 随机字符串
*/
public
static
String
generateNumber
(
int
length
)
{
StringBuffer
sb
=
new
StringBuffer
();
Random
random
=
new
Random
();
for
(
int
i
=
0
;
i
<
length
;
i
++)
{
if
(
i
==
0
){
sb
.
append
(
numberCharWithoutZero
.
charAt
(
random
.
nextInt
(
numberCharWithoutZero
.
length
())));
}
else
{
sb
.
append
(
numberChar
.
charAt
(
random
.
nextInt
(
numberChar
.
length
())));
}
}
return
sb
.
toString
();
}
private
Long
getSecondsNextEarlyMorning
(){
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
add
(
Calendar
.
DAY_OF_YEAR
,
1
);
cal
.
set
(
Calendar
.
HOUR_OF_DAY
,
0
);
cal
.
set
(
Calendar
.
SECOND
,
0
);
cal
.
set
(
Calendar
.
MINUTE
,
0
);
cal
.
set
(
Calendar
.
MILLISECOND
,
0
);
return
(
cal
.
getTimeInMillis
()
-
System
.
currentTimeMillis
())
/
1000
;
}
}
}
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
99245caf
...
@@ -438,6 +438,17 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -438,6 +438,17 @@ public class OrderServiceImpl implements Orderservice {
//orderRefund(orderBean, "订单异常退款", openid, oid);
//orderRefund(orderBean, "订单异常退款", openid, oid);
return
gson
.
toJson
(
message
);
return
gson
.
toJson
(
message
);
}
}
//获取生态缓存中的配置项,如果mealCodeRule的值不为空并且值等于2,则随机生成取参数,当日不重复
String
mealCodeRule
=
redisCache
.
getValue
(
"mealCodeRule"
);
if
(!
StringUtils
.
isEmpty
(
mealCodeRule
)
&&
"2"
.
equalsIgnoreCase
(
mealCodeRule
)){
//更新db中的取餐码,生成取餐码
OrderModifyRelatingCodeReq
relatingCodeReq
=
new
OrderModifyRelatingCodeReq
();
relatingCodeReq
.
setOrderCode
(
orderBean
.
getOid
());
relatingCodeReq
.
setOperator
(
orderBean
.
getCreateUser
());
relatingCodeReq
.
setPartnerId
(
orderBean
.
getCompanyId
());
relatingCodeReq
.
setPickUpGoodsNo
(
orderAdapter
.
generateTackCode
(
orderBean
.
getCompanyId
(),
orderBean
.
getShopId
()));
orderCenterSdkService
.
updatePickUpGoodNo
(
relatingCodeReq
,
LogThreadLocal
.
getTrackingNo
());
}
// TODO 订单序号替换取餐码显示
// TODO 订单序号替换取餐码显示
takeCode
=
payAccessResponse
.
getData
().
getTakeCode
();
takeCode
=
payAccessResponse
.
getData
().
getTakeCode
();
daySeq
=
payAccessResponse
.
getData
().
getDaySeq
();
daySeq
=
payAccessResponse
.
getData
().
getDaySeq
();
...
@@ -1530,7 +1541,7 @@ public class OrderServiceImpl implements Orderservice {
...
@@ -1530,7 +1541,7 @@ public class OrderServiceImpl implements Orderservice {
}
}
}
}
if
(
OrderStatus
.
COMPLETE
.
getCode
().
equals
(
orderBean
.
getStatus
()))
{
if
(
OrderStatus
.
COMPLETE
.
getCode
().
equals
(
orderBean
.
getStatus
()))
{
boolean
refundButton
=
this
.
orderAdapter
.
checkRefundButton
(
queryOrderByIdResponse
.
getData
(),
userInfo
.
getWxAppId
());
boolean
refundButton
=
orderAdapter
.
checkRefundButton
(
queryOrderByIdResponse
.
getData
(),
userInfo
.
getWxAppId
());
if
(!
refundButton
)
{
if
(!
refundButton
)
{
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_NOT_ALLOW_REFUND
.
getCode
(),
ResponseResult
.
ORDER_NOT_ALLOW_REFUND
.
getMessage
());
return
ResponseUtil
.
error
(
ResponseResult
.
ORDER_NOT_ALLOW_REFUND
.
getCode
(),
ResponseResult
.
ORDER_NOT_ALLOW_REFUND
.
getMessage
());
}
}
...
...
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