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
jenkins
order-group
Commits
7952ca86
Commit
7952ca86
authored
Feb 11, 2020
by
shuhu.hou
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
微信支付上传
parent
9029c5e9
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
131 additions
and
24 deletions
+131
-24
call-back-service/pom.xml
+1
-1
call-back-service/src/main/java/cn/freemud/amp/config/OrderCallBackConfig.java
+2
-0
call-back-service/src/main/java/cn/freemud/amp/service/OrderCallBackMQService.java
+96
-2
call-back-service/src/main/java/cn/freemud/entities/dto/WechatReportOrderDto.java
+25
-14
order-application-service/src/main/java/cn/freemud/entities/dto/OptRequestDto.java
+1
-1
order-application-service/src/main/java/cn/freemud/entities/dto/RecommendProductRequestDto.java
+1
-1
push-order-service/src/main/java/cn/freemud/amp/body/OrderBody.java
+1
-1
push-order-service/src/main/java/cn/freemud/order/entity/OpenPlatformPartnerReportDetail.java
+1
-1
push-order-service/src/main/java/cn/freemud/request/SaoBeiFoodUploadRequset.java
+1
-1
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/OptRequestDto.java
+1
-1
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/RecommendProductRequestDto.java
+1
-1
No files found.
call-back-service/pom.xml
View file @
7952ca86
...
@@ -20,7 +20,7 @@
...
@@ -20,7 +20,7 @@
<dependency>
<dependency>
<groupId>
com.freemud.application.service.sdk
</groupId>
<groupId>
com.freemud.application.service.sdk
</groupId>
<artifactId>
sdk-common-base
</artifactId>
<artifactId>
sdk-common-base
</artifactId>
<version>
1.
2.1
-SNAPSHOT
</version>
<version>
1.
3.9
-SNAPSHOT
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<groupId>
org.springframework.boot
</groupId>
...
...
call-back-service/src/main/java/cn/freemud/amp/config/OrderCallBackConfig.java
View file @
7952ca86
...
@@ -28,6 +28,8 @@ public class OrderCallBackConfig {
...
@@ -28,6 +28,8 @@ public class OrderCallBackConfig {
public
static
final
String
OPEN_PLATFORM_ORDER_STATUS_CHANGE_PUSH_QUEUE_NAME
=
"open-platform-order-status-change-push-queue"
;
public
static
final
String
OPEN_PLATFORM_ORDER_STATUS_CHANGE_PUSH_QUEUE_NAME
=
"open-platform-order-status-change-push-queue"
;
public
static
final
String
OPEN_PLATFORM_ORDER_STATUS_CHANGE_PUSH_ROUTING_KEY
=
"open-platform-order-status-change-routing-key"
;
public
static
final
String
OPEN_PLATFORM_ORDER_STATUS_CHANGE_PUSH_ROUTING_KEY
=
"open-platform-order-status-change-routing-key"
;
public
static
final
String
WECHAT_REPORT_QUEUE_ROUTING_KEY
=
"wechat-report-queue-routing-key"
;
/**
/**
* 定义基于Fanout 的Exchange。
* 定义基于Fanout 的Exchange。
* 基于这个代码,也可以非常方便的定义其他的Exchange类型。
* 基于这个代码,也可以非常方便的定义其他的Exchange类型。
...
...
call-back-service/src/main/java/cn/freemud/amp/service/OrderCallBackMQService.java
View file @
7952ca86
...
@@ -38,7 +38,6 @@ import org.apache.commons.lang.ObjectUtils;
...
@@ -38,7 +38,6 @@ import org.apache.commons.lang.ObjectUtils;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.ApplicationContextAware
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
...
@@ -54,6 +53,10 @@ public class OrderCallBackMQService {
...
@@ -54,6 +53,10 @@ public class OrderCallBackMQService {
@Autowired
@Autowired
private
OrderDistributionService
orderDistributionService
;
private
OrderDistributionService
orderDistributionService
;
@Autowired
private
RedisCache
redisCache
;
@Autowired
private
AssortmentOpenPlatformWxappManager
openPlatformWxappManager
;
public
void
sendOrderMQ
(
OrderCallBackRequestVo
body
)
{
public
void
sendOrderMQ
(
OrderCallBackRequestVo
body
)
{
//发送订单回调
//发送订单回调
...
@@ -66,8 +69,25 @@ public class OrderCallBackMQService {
...
@@ -66,8 +69,25 @@ public class OrderCallBackMQService {
if
(
orderInfoReqs
!=
null
)
{
if
(
orderInfoReqs
!=
null
)
{
orderDistributionService
.
pushOrder
(
convent2DisRequest
(
body
,
orderInfoReqs
.
getOrderState
()));
orderDistributionService
.
pushOrder
(
convent2DisRequest
(
body
,
orderInfoReqs
.
getOrderState
()));
}
}
//微信数据上传(创建新订单&支付成功时上传)
sendWechatReportMQ
(
body
);
}
private
void
sendWechatReportMQ
(
OrderCallBackRequestVo
body
)
{
try
{
OrderInfoReqs
orderInfoReqs
=
getWechatReportOrderInfoReqs
(
body
);
if
(
orderInfoReqs
!=
null
)
{
OrderExtInfoDto
orderExtInfoDto
=
JSONObject
.
parseObject
(
orderInfoReqs
.
getExtInfo
(),
OrderExtInfoDto
.
class
);
UserLoginInfoDto
userLoginInfoDto
=
getUserLoginInfoBySessionId
(
orderExtInfoDto
.
getSessionId
());
WechatReportOrderDto
wechatReportOrderDto
=
getWechatReportOrderDto
(
orderInfoReqs
,
orderExtInfoDto
,
userLoginInfoDto
);
Header
header
=
new
Header
(
MQAction
.
UPDATE
.
getAction
(),
"call-back-service-api"
,
OrderCallBackConfig
.
QUEUE_ROUTING_KEY
,
OrderCallBackConfig
.
QUEUE_NAME
);
MQMessage
<
WechatReportOrderDto
>
message
=
new
MQMessage
<>(
header
,
wechatReportOrderDto
);
mqService
.
convertAndSend
(
OrderCallBackConfig
.
TOPIC_EXCHANGE_NAME
,
OrderCallBackConfig
.
WECHAT_REPORT_QUEUE_ROUTING_KEY
,
message
);
}
}
catch
(
Exception
ex
)
{
ErrorLog
.
printErrorLog
(
"sendWechatReportMQError"
,
body
.
getOrderCode
(),
body
,
ex
);
}
}
}
private
DisRequest
convent2DisRequest
(
OrderCallBackRequestVo
orderBean
,
Integer
orderState
)
{
private
DisRequest
convent2DisRequest
(
OrderCallBackRequestVo
orderBean
,
Integer
orderState
)
{
DisRequest
disRequest
=
new
DisRequest
();
DisRequest
disRequest
=
new
DisRequest
();
disRequest
.
setExtJson
(
orderBean
.
getContent
());
disRequest
.
setExtJson
(
orderBean
.
getContent
());
...
@@ -97,4 +117,78 @@ public class OrderCallBackMQService {
...
@@ -97,4 +117,78 @@ public class OrderCallBackMQService {
}
}
return
orderInfoReqs
;
return
orderInfoReqs
;
}
}
private
OrderInfoReqs
getWechatReportOrderInfoReqs
(
OrderCallBackRequestVo
body
)
{
// 订单所有状态正常变化通知通知开放平台
if
(!
ObjectUtils
.
equals
(
"1"
,
body
.
getMsgType
())
||
body
.
getOperateType
()
==
null
||
body
.
getOperateType
()
==
2
)
{
return
null
;
}
try
{
OrderInfoReqs
orderInfoReqs
=
JSONObject
.
parseObject
(
body
.
getContent
(),
OrderInfoReqs
.
class
);
if
(
orderInfoReqs
!=
null
&&
OrderClientType
.
SAAS
.
getIndex
().
equals
(
orderInfoReqs
.
getOrderClient
())
&&
((
body
.
getOperateType
()
==
0
&&
NewOrderStatus
.
PENDING_PAYMENT
.
getIndex
().
equals
(
orderInfoReqs
.
getOrderState
()))
||
(
body
.
getOperateType
()
==
1
&&
NewOrderStatus
.
COMPLETE
.
getIndex
().
equals
(
orderInfoReqs
.
getOrderState
()))))
{
return
orderInfoReqs
;
}
}
catch
(
Exception
ex
)
{
ErrorLog
.
infoConvertJson
(
context
.
getEnvironment
().
getProperty
(
"spring.application.name"
),
LogThreadLocal
.
getTrackingNo
(),
this
.
getClass
(),
"parseObjectOrderInfoReqsError"
,
ex
);
return
null
;
}
return
null
;
}
private
UserLoginInfoDto
getUserLoginInfoBySessionId
(
String
sessionId
)
{
String
redisKey
=
RedisKeyConstant
.
SAAS_USER_INFO_SESSIONID_KEY_PREFIX
+
sessionId
;
Map
<
String
,
Object
>
map
=
redisCache
.
getValue
(
redisKey
);
UserLoginInfoDto
userLoginInfoDto
=
new
UserLoginInfoDto
();
userLoginInfoDto
.
setOpenId
(
String
.
valueOf
(
map
.
get
(
"openid"
)));
userLoginInfoDto
.
setWxAppid
(
String
.
valueOf
(
map
.
get
(
"wxAppid"
)));
userLoginInfoDto
.
setSessionKey
(
String
.
valueOf
(
map
.
get
(
"session_key"
)));
userLoginInfoDto
.
setMobile
(
String
.
valueOf
(
map
.
get
(
"mobile"
)));
userLoginInfoDto
.
setAppsecret
(
String
.
valueOf
(
map
.
get
(
"appsecret"
)));
userLoginInfoDto
.
setMemberId
(
String
.
valueOf
(
map
.
get
(
"memberId"
)));
userLoginInfoDto
.
setPartnerId
(
String
.
valueOf
(
map
.
get
(
"partnerId"
)));
userLoginInfoDto
.
setUnionId
(
String
.
valueOf
(
map
.
get
(
"unionId"
)));
userLoginInfoDto
.
setNewMemeber
(
Boolean
.
valueOf
(
map
.
get
(
"newMember"
).
toString
()));
userLoginInfoDto
.
setNickName
(
String
.
valueOf
(
map
.
get
(
"nickName"
)));
return
userLoginInfoDto
;
}
private
WechatReportOrderDto
getWechatReportOrderDto
(
OrderInfoReqs
orderInfoReqs
,
OrderExtInfoDto
orderExtInfoDto
,
UserLoginInfoDto
userLoginInfoDto
)
{
WechatReportOrderDto
wechatReportOrderDto
=
new
WechatReportOrderDto
();
wechatReportOrderDto
.
setAppId
(
userLoginInfoDto
.
getWxAppid
());
wechatReportOrderDto
.
setPartnerId
(
orderInfoReqs
.
getPartnerId
());
wechatReportOrderDto
.
setShopId
(
orderInfoReqs
.
getStoreId
());
wechatReportOrderDto
.
setSubMchId
(
orderExtInfoDto
.
getPlatformMchId
());
if
(
StringUtils
.
isBlank
(
orderExtInfoDto
.
getPlatformMchId
()))
{
// 获取当前商户微信支付mchId
AssortmentOpenPlatformWxapp
wxApp
=
openPlatformWxappManager
.
findByPartnerIdAndWxappId
(
userLoginInfoDto
.
getPartnerId
(),
userLoginInfoDto
.
getWxAppid
());
wechatReportOrderDto
.
setSubMchId
(
wxApp
==
null
?
""
:
wxApp
.
getMchId
());
}
wechatReportOrderDto
.
setPayVoucher
(
orderInfoReqs
.
getPayRequestNo
());
wechatReportOrderDto
.
setSubAppId
(
userLoginInfoDto
.
getWxAppid
());
wechatReportOrderDto
.
setOutShopNo
(
orderInfoReqs
.
getStoreId
());
wechatReportOrderDto
.
setSubOpenId
(
userLoginInfoDto
.
getOpenId
());
wechatReportOrderDto
.
setLoginToken
(
userLoginInfoDto
.
getSessionKey
());
wechatReportOrderDto
.
setUserAmount
(
orderInfoReqs
.
getActualPayAmount
().
intValue
());
wechatReportOrderDto
.
setOutOrderNo
(
orderInfoReqs
.
getOrderCode
());
wechatReportOrderDto
.
setTransactionId
(
orderExtInfoDto
.
getPaid_no
());
wechatReportOrderDto
.
setOutTradeNo
(
orderExtInfoDto
.
getPayTransId
());
wechatReportOrderDto
.
setTotalAmount
(
orderInfoReqs
.
getOriginalAmount
().
intValue
());
wechatReportOrderDto
.
setDiscountAmount
(
orderInfoReqs
.
getSettlementAmount
().
intValue
());
//订单状态 (CREATE_DEAL—用户下单;PAY_SUCCESS—支付完成)
wechatReportOrderDto
.
setStatus
(
NewOrderStatus
.
PENDING_PAYMENT
.
getIndex
().
equals
(
orderInfoReqs
.
getOrderState
())
?
"CREATE_DEAL"
:
"PAY_SUCCESS"
);
List
<
WechatReportOrderDto
.
DishInfo
>
list
=
new
ArrayList
<>();
for
(
OrderItemResp
item
:
orderInfoReqs
.
getOrderItemList
())
{
WechatReportOrderDto
.
DishInfo
dishInfo
=
new
WechatReportOrderDto
.
DishInfo
();
dishInfo
.
setOutDishNo
(
item
.
getProductId
());
dishInfo
.
setCount
(
item
.
getProductQuantity
());
dishInfo
.
setName
(
item
.
getProductName
());
dishInfo
.
setPrice
(
item
.
getProductPrice
().
intValue
());
list
.
add
(
dishInfo
);
}
wechatReportOrderDto
.
setDishList
(
list
);
return
wechatReportOrderDto
;
}
}
}
call-back-service/src/main/java/cn/freemud/entities/dto/WechatReportOrderDto.java
View file @
7952ca86
...
@@ -18,43 +18,54 @@ import java.util.List;
...
@@ -18,43 +18,54 @@ import java.util.List;
*/
*/
@Data
@Data
public
class
WechatReportOrderDto
{
public
class
WechatReportOrderDto
{
/**
* 商户号
*/
private
String
partnerId
;
private
String
partnerId
;
/**
/**
* 门店号
*/
private
String
shopId
;
/**
* 微信或支付宝appId
*/
private
String
appId
;
/**
* 非码流水Id
* 非码流水Id
*/
*/
private
String
payVoucher
;
private
String
payVoucher
;
/**
/**
* 子商户号
* 子商户号
*/
*/
private
String
sub
_mchi
d
;
private
String
sub
MchI
d
;
/**
/**
* 子商户APPID,非必填
* 子商户APPID,非必填
*/
*/
private
String
sub
_appi
d
;
private
String
sub
AppI
d
;
/**
/**
* 门店编号
* 门店编号
*/
*/
private
String
out
_shop_n
o
;
private
String
out
ShopN
o
;
/**
/**
* 用户子标识 ,非必填
* 用户子标识 ,非必填
*/
*/
private
String
sub
_openi
d
;
private
String
sub
OpenI
d
;
/**
/**
* 登录票据(微信用户登录接口返回的登 录票据 公众号,填写access_token; 小程序,填写session_key;)
* 登录票据(微信用户登录接口返回的登 录票据 公众号,填写access_token; 小程序,填写session_key;)
*/
*/
private
String
login
_t
oken
;
private
String
login
T
oken
;
/**
/**
* 总价,单位为分
* 总价,单位为分
*/
*/
private
int
total
_a
mount
;
private
int
total
A
mount
;
/**
/**
* 优惠金额,单位为分
* 优惠金额,单位为分
*/
*/
private
int
discount
_a
mount
;
private
int
discount
A
mount
;
/**
/**
* 实际支付,单位为分
* 实际支付,单位为分
*/
*/
private
int
user
_a
mount
;
private
int
user
A
mount
;
/**
/**
* 订单状态 (CREATE_DEAL—用户下单;PAY_SUCCESS—支付完成)
* 订单状态 (CREATE_DEAL—用户下单;PAY_SUCCESS—支付完成)
*/
*/
...
@@ -62,30 +73,30 @@ public class WechatReportOrderDto {
...
@@ -62,30 +73,30 @@ public class WechatReportOrderDto {
/**
/**
* 微信支付订单号(status 为 PAY_SUCCESS时必填)
* 微信支付订单号(status 为 PAY_SUCCESS时必填)
*/
*/
private
String
transaction
_i
d
;
private
String
transaction
I
d
;
/**
/**
* 服务商支付订单号(status为PAY_SUCCESS时 必填)
* 服务商支付订单号(status为PAY_SUCCESS时 必填)
*/
*/
private
String
out
_trade_n
o
;
private
String
out
TradeN
o
;
/**
/**
* 服务商订单号
* 服务商订单号
*/
*/
private
String
out
_order_n
o
;
private
String
out
OrderN
o
;
/**
/**
* 菜品列表
* 菜品列表
*/
*/
private
List
<
DishInfo
>
dish
_l
ist
;
private
List
<
DishInfo
>
dish
L
ist
;
/**
/**
* 消费人数
* 消费人数
*/
*/
private
int
people
_c
ount
;
private
int
people
C
ount
;
@Data
@Data
public
static
class
DishInfo
{
public
static
class
DishInfo
{
/**
/**
* 商户菜品ID
* 商户菜品ID
*/
*/
private
String
out
_dish_n
o
;
private
String
out
DishN
o
;
/**
/**
* 菜品名称
* 菜品名称
*/
*/
...
...
order-application-service/src/main/java/cn/freemud/entities/dto/OptRequestDto.java
View file @
7952ca86
...
@@ -22,7 +22,7 @@ public class OptRequestDto {
...
@@ -22,7 +22,7 @@ public class OptRequestDto {
private
String
appId
;
private
String
appId
;
@SerializedName
(
"mch_id"
)
@SerializedName
(
"mch_id"
)
private
String
mchId
;
private
String
mchId
;
@SerializedName
(
"sub
_a
ppid"
)
@SerializedName
(
"sub
A
ppid"
)
private
String
subAppId
;
private
String
subAppId
;
@SerializedName
(
"sub_mch_id"
)
@SerializedName
(
"sub_mch_id"
)
private
String
subMchId
;
private
String
subMchId
;
...
...
order-application-service/src/main/java/cn/freemud/entities/dto/RecommendProductRequestDto.java
View file @
7952ca86
...
@@ -21,7 +21,7 @@ public class RecommendProductRequestDto {
...
@@ -21,7 +21,7 @@ public class RecommendProductRequestDto {
private
String
appId
;
private
String
appId
;
@JsonProperty
(
"mch_id"
)
@JsonProperty
(
"mch_id"
)
private
String
mchId
;
private
String
mchId
;
@JsonProperty
(
"sub
_a
ppid"
)
@JsonProperty
(
"sub
A
ppid"
)
private
String
subAppId
;
private
String
subAppId
;
@JsonProperty
(
"sub_mch_id"
)
@JsonProperty
(
"sub_mch_id"
)
private
String
subMchId
;
private
String
subMchId
;
...
...
push-order-service/src/main/java/cn/freemud/amp/body/OrderBody.java
View file @
7952ca86
...
@@ -492,7 +492,7 @@ public class OrderBody {
...
@@ -492,7 +492,7 @@ public class OrderBody {
*/
*/
private
String
mchId
;
private
String
mchId
;
/**
/**
* 用户小程序Appid sub
_a
ppid
* 用户小程序Appid sub
A
ppid
*/
*/
private
String
wxAppid
;
private
String
wxAppid
;
/**
/**
...
...
push-order-service/src/main/java/cn/freemud/order/entity/OpenPlatformPartnerReportDetail.java
View file @
7952ca86
...
@@ -86,7 +86,7 @@ public class OpenPlatformPartnerReportDetail {
...
@@ -86,7 +86,7 @@ public class OpenPlatformPartnerReportDetail {
/**
/**
* 商户小程序id
* 商户小程序id
*/
*/
@Column
(
name
=
"sub
_a
ppid"
)
@Column
(
name
=
"sub
A
ppid"
)
private
String
subAppid
;
private
String
subAppid
;
/**
/**
...
...
push-order-service/src/main/java/cn/freemud/request/SaoBeiFoodUploadRequset.java
View file @
7952ca86
...
@@ -25,7 +25,7 @@ public class SaoBeiFoodUploadRequset {
...
@@ -25,7 +25,7 @@ public class SaoBeiFoodUploadRequset {
public
String
out_shop_no
;
public
String
out_shop_no
;
//public string sub
_a
ppid { get; set; }
//public string sub
A
ppid { get; set; }
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/OptRequestDto.java
View file @
7952ca86
...
@@ -22,7 +22,7 @@ public class OptRequestDto {
...
@@ -22,7 +22,7 @@ public class OptRequestDto {
private
String
appId
;
private
String
appId
;
@SerializedName
(
"mch_id"
)
@SerializedName
(
"mch_id"
)
private
String
mchId
;
private
String
mchId
;
@SerializedName
(
"sub
_a
ppid"
)
@SerializedName
(
"sub
A
ppid"
)
private
String
subAppId
;
private
String
subAppId
;
@SerializedName
(
"sub_mch_id"
)
@SerializedName
(
"sub_mch_id"
)
private
String
subMchId
;
private
String
subMchId
;
...
...
shopping-cart-application-service/src/main/java/cn/freemud/entities/dto/RecommendProductRequestDto.java
View file @
7952ca86
...
@@ -21,7 +21,7 @@ public class RecommendProductRequestDto {
...
@@ -21,7 +21,7 @@ public class RecommendProductRequestDto {
private
String
appId
;
private
String
appId
;
@JsonProperty
(
"mch_id"
)
@JsonProperty
(
"mch_id"
)
private
String
mchId
;
private
String
mchId
;
@JsonProperty
(
"sub
_a
ppid"
)
@JsonProperty
(
"sub
A
ppid"
)
private
String
subAppId
;
private
String
subAppId
;
@JsonProperty
(
"sub_mch_id"
)
@JsonProperty
(
"sub_mch_id"
)
private
String
subMchId
;
private
String
subMchId
;
...
...
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