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
c589ac17
Commit
c589ac17
authored
Feb 25, 2022
by
xiangkun.gu
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/applet/2022-02-11-暴露创建订单业务相关接口'
parents
241ac0cb
8cd22272
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
351 additions
and
0 deletions
+351
-0
order-application-service/src/main/java/cn/freemud/controller/ExposureOrderController.java
+133
-0
order-application-service/src/main/java/cn/freemud/entities/vo/GenerateTackCodeVo.java
+17
-0
order-application-service/src/main/java/cn/freemud/entities/vo/GetPayCodeByChanelVo.java
+18
-0
order-application-service/src/main/java/cn/freemud/entities/vo/GetPayConfigVo.java
+15
-0
order-application-service/src/main/java/cn/freemud/entities/vo/GetPaySuccessTimeoutVo.java
+14
-0
order-application-service/src/main/java/cn/freemud/entities/vo/GetPayTimeoutVo.java
+13
-0
order-application-service/src/main/java/cn/freemud/entities/vo/PutDeadLetterVo.java
+23
-0
order-application-service/src/main/java/cn/freemud/entities/vo/PutRoundRobinVo.java
+19
-0
order-application-service/src/main/java/cn/freemud/entities/vo/SendPaySuccessMessageVo.java
+39
-0
order-application-service/src/main/java/cn/freemud/service/business/impl/OrderBusinessServiceImpl.java
+8
-0
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
+24
-0
order-application-service/src/main/java/cn/freemud/service/impl/PayServiceImpl.java
+28
-0
No files found.
order-application-service/src/main/java/cn/freemud/controller/ExposureOrderController.java
0 → 100644
View file @
c589ac17
package
cn
.
freemud
.
controller
;
import
cn.freemud.base.entity.BaseResponse
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.enums.OrderTackCodeFactory
;
import
cn.freemud.manager.OrderTackCodeManager
;
import
cn.freemud.service.business.OrderBusinessService
;
import
cn.freemud.service.business.impl.OrderBusinessServiceImpl
;
import
cn.freemud.service.impl.OrderServiceImpl
;
import
cn.freemud.service.impl.PayServiceImpl
;
import
cn.freemud.utils.ResponseUtil
;
import
com.freemud.application.sdk.api.log.ApiAnnotation
;
import
com.freemud.application.sdk.api.log.LogParams
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
/**
* 暴露订单相关的业务接口,提供给applet项目
*/
@RestController
@RequestMapping
(
"/order/exposure"
)
public
class
ExposureOrderController
{
@Autowired
private
PayServiceImpl
payService
;
@Autowired
private
OrderTackCodeManager
orderTackCodeManager
;
@Autowired
private
OrderBusinessServiceImpl
orderBusinessService
;
@Autowired
private
OrderServiceImpl
orderService
;
/**
* 创建支付单,查询支付配置
*/
@ApiAnnotation
(
logMessage
=
"创建支付单,查询支付配置"
)
@PostMapping
(
"/getPayConfig"
)
public
BaseResponse
<
String
>
getPayConfig
(
@Validated
@LogParams
@RequestBody
GetPayConfigVo
getPayConfigVo
)
{
String
payConfig
=
payService
.
getPayConfig
(
getPayConfigVo
.
getPartnerId
(),
getPayConfigVo
.
getAppId
());
return
ResponseUtil
.
success
(
payConfig
);
}
/**
* 创建支付单,查询超时时间
*/
@ApiAnnotation
(
logMessage
=
"创建支付单,查询超时时间"
)
@PostMapping
(
"/getPayTimeout"
)
public
BaseResponse
<
String
>
getPayTimeout
(
@Validated
@LogParams
@RequestBody
GetPayTimeoutVo
getPayTimeoutVo
)
{
String
partnerPayOvertime
=
payService
.
getPartnerPayOvertime
(
getPayTimeoutVo
.
getPartnerId
());
return
ResponseUtil
.
success
(
partnerPayOvertime
);
}
/**
* 创建支付单,查询payCode
*/
@ApiAnnotation
(
logMessage
=
"创建支付单,查询payCode"
)
@PostMapping
(
"/getPayCodeByChanel"
)
public
BaseResponse
<
String
>
getPayCodeByChanel
(
@Validated
@LogParams
@RequestBody
GetPayCodeByChanelVo
getPayCodeByChanelVo
)
{
String
payCodeByCondition
=
payService
.
getPayCodeByCondition
(
getPayCodeByChanelVo
.
getAppId
(),
getPayCodeByChanelVo
.
getStoreId
(),
getPayCodeByChanelVo
.
getChannel
());
return
ResponseUtil
.
success
(
payCodeByCondition
);
}
/**
* 创建订单,死信队列
*/
@ApiAnnotation
(
logMessage
=
"创建订单,死信队列"
)
@PostMapping
(
"/deadLetterQueue"
)
public
BaseResponse
deadLetterQueue
(
@Validated
@LogParams
@RequestBody
PutDeadLetterVo
putDeadLetterVo
)
{
payService
.
putDelMq
(
putDeadLetterVo
.
getPartnerId
(),
putDeadLetterVo
.
getStoreId
(),
putDeadLetterVo
.
getFmId
(),
putDeadLetterVo
.
getOrderId
(),
putDeadLetterVo
.
getPayChanelType
());
return
ResponseUtil
.
success
();
}
/**
* 生成取餐码
*/
@ApiAnnotation
(
logMessage
=
"生成取餐码"
)
@PostMapping
(
"/generateTackCode"
)
public
BaseResponse
<
String
>
generateTackCode
(
@Validated
@LogParams
@RequestBody
GenerateTackCodeVo
generateTackCodeVo
)
{
String
tackCode
=
orderTackCodeManager
.
generateTackCode
(
generateTackCodeVo
.
getOrderType
(),
generateTackCodeVo
.
getPartnerId
(),
generateTackCodeVo
.
getStoreId
(),
null
,
OrderTackCodeFactory
.
getByOrderClient
(
generateTackCodeVo
.
getOrderClient
()).
getGenerateTackCodeFunc
());
return
ResponseUtil
.
success
(
tackCode
);
}
/**
* 从支付成功开始计时,超时未接单的时间(单位:分钟)
*/
@ApiAnnotation
(
logMessage
=
"获取超时时间"
)
@PostMapping
(
"/paySuccessTimeout"
)
public
BaseResponse
<
Integer
>
generateTackCode
(
@Validated
@LogParams
@RequestBody
GetPaySuccessTimeoutVo
getPaySuccessTimeoutVo
)
{
Integer
tackCode
=
orderBusinessService
.
getPaySuccessTimeout
(
getPaySuccessTimeoutVo
.
getPartnerId
(),
getPaySuccessTimeoutVo
.
getStoreId
(),
getPaySuccessTimeoutVo
.
getOrderType
());
return
ResponseUtil
.
success
(
tackCode
);
}
/**
* 发送支付成功模板消息
*/
@ApiAnnotation
(
logMessage
=
"发送支付成功模板消息"
)
@PostMapping
(
"/sendPayTemplateMessage"
)
public
BaseResponse
sendPayTemplateMessage
(
@Validated
@LogParams
@RequestBody
SendPaySuccessMessageVo
sendPaySuccessMessageVo
)
{
orderService
.
sendMessageByNewApp
(
sendPaySuccessMessageVo
);
return
ResponseUtil
.
success
();
}
/**
* 生成0元支付fmId
*/
@ApiAnnotation
(
logMessage
=
"生成0元支付fmId"
)
@GetMapping
(
"/generateZeroPayFmId"
)
public
BaseResponse
generateZeroPayFmId
()
{
String
fmId
=
payService
.
generateZeroPayFmId
();
return
ResponseUtil
.
success
(
fmId
);
}
/**
* 现金支付,设置轮循队列
*/
@ApiAnnotation
(
logMessage
=
"现金支付,设置轮循队列"
)
@PostMapping
(
"/putRoundRobin"
)
public
BaseResponse
putRoundRobin
(
@Validated
@LogParams
@RequestBody
PutRoundRobinVo
putRoundRobinVo
)
{
payService
.
putRoundRobin
(
putRoundRobinVo
);
return
ResponseUtil
.
success
();
}
}
order-application-service/src/main/java/cn/freemud/entities/vo/GenerateTackCodeVo.java
0 → 100644
View file @
c589ac17
package
cn
.
freemud
.
entities
.
vo
;
import
lombok.Data
;
@Data
public
class
GenerateTackCodeVo
{
private
Integer
orderType
;
private
String
orderClient
;
private
String
partnerId
;
private
String
storeId
;
}
order-application-service/src/main/java/cn/freemud/entities/vo/GetPayCodeByChanelVo.java
0 → 100644
View file @
c589ac17
package
cn
.
freemud
.
entities
.
vo
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
@Data
public
class
GetPayCodeByChanelVo
{
@NotBlank
(
message
=
"小程序id不能为空"
)
private
String
appId
;
@NotBlank
(
message
=
"门店id不能为空"
)
private
String
storeId
;
private
String
channel
;
}
order-application-service/src/main/java/cn/freemud/entities/vo/GetPayConfigVo.java
0 → 100644
View file @
c589ac17
package
cn
.
freemud
.
entities
.
vo
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
@Data
public
class
GetPayConfigVo
{
@NotBlank
(
message
=
"商户号不能为空"
)
private
String
partnerId
;
@NotBlank
(
message
=
"小程序id不能为空"
)
private
String
appId
;
}
order-application-service/src/main/java/cn/freemud/entities/vo/GetPaySuccessTimeoutVo.java
0 → 100644
View file @
c589ac17
package
cn
.
freemud
.
entities
.
vo
;
import
lombok.Data
;
@Data
public
class
GetPaySuccessTimeoutVo
{
private
Integer
orderType
;
private
String
partnerId
;
private
String
storeId
;
}
order-application-service/src/main/java/cn/freemud/entities/vo/GetPayTimeoutVo.java
0 → 100644
View file @
c589ac17
package
cn
.
freemud
.
entities
.
vo
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
@Data
public
class
GetPayTimeoutVo
{
@NotBlank
(
message
=
"商户号不能为空"
)
private
String
partnerId
;
}
order-application-service/src/main/java/cn/freemud/entities/vo/PutDeadLetterVo.java
0 → 100644
View file @
c589ac17
package
cn
.
freemud
.
entities
.
vo
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
@Data
public
class
PutDeadLetterVo
{
@NotBlank
(
message
=
"商户号不能为空"
)
private
String
partnerId
;
@NotBlank
(
message
=
"门店id不能为空"
)
private
String
storeId
;
@NotBlank
(
message
=
"fmId不能为空"
)
private
String
fmId
;
@NotBlank
(
message
=
"订单号不能为空"
)
private
String
orderId
;
private
Integer
payChanelType
;
}
order-application-service/src/main/java/cn/freemud/entities/vo/PutRoundRobinVo.java
0 → 100644
View file @
c589ac17
package
cn
.
freemud
.
entities
.
vo
;
import
lombok.Data
;
@Data
public
class
PutRoundRobinVo
{
private
String
partnerId
;
private
String
storeId
;
private
String
fmId
;
private
String
orderCode
;
private
Byte
index
;
private
String
ebCode
;
}
order-application-service/src/main/java/cn/freemud/entities/vo/SendPaySuccessMessageVo.java
0 → 100644
View file @
c589ac17
package
cn
.
freemud
.
entities
.
vo
;
import
lombok.Data
;
@Data
public
class
SendPaySuccessMessageVo
{
private
String
partnerId
;
private
String
address
;
private
String
storeName
;
private
String
orderCode
;
private
Integer
orderType
;
private
String
otherCode
;
private
String
extInfo
;
private
Long
amount
;
/**
* 期望送达时间
*/
private
Long
gmtExpect
;
/**
* 创建时间 时间戳
*/
private
Long
gmtCreate
;
/**
* 日订单序号
*/
private
Integer
daySeq
;
}
order-application-service/src/main/java/cn/freemud/service/business/impl/OrderBusinessServiceImpl.java
View file @
c589ac17
...
...
@@ -569,4 +569,12 @@ public class OrderBusinessServiceImpl implements OrderBusinessService {
return
userScoreRequest
;
}
public
Integer
getPaySuccessTimeout
(
String
partnerId
,
String
storeId
,
Integer
orderType
)
{
ConfirmOrderRequest
confirmOrderRequest
=
new
ConfirmOrderRequest
();
confirmOrderRequest
.
setPartnerId
(
partnerId
);
confirmOrderRequest
.
setStoreId
(
storeId
);
confirmOrderRequest
.
setOrderType
(
orderType
);
return
this
.
getPaySuccessTimeout
(
confirmOrderRequest
,
null
);
}
}
order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
View file @
c589ac17
...
...
@@ -3755,4 +3755,28 @@ public class OrderServiceImpl implements Orderservice {
return
ResponseUtil
.
success
(
userLoginInfoDto
);
}
/**
* 发送支付成功模板消息
*
*/
public
void
sendMessageByNewApp
(
SendPaySuccessMessageVo
sendPaySuccessMessageVo
)
{
OrderBeanV1
orderBean
=
new
OrderBeanV1
();
orderBean
.
setCompanyId
(
sendPaySuccessMessageVo
.
getPartnerId
());
orderBean
.
setAddress
(
sendPaySuccessMessageVo
.
getAddress
());
orderBean
.
setDaySeq
(
sendPaySuccessMessageVo
.
getDaySeq
());
orderBean
.
setGmtExpect
(
sendPaySuccessMessageVo
.
getGmtExpect
());
orderBean
.
setShopName
(
sendPaySuccessMessageVo
.
getStoreName
());
orderBean
.
setGmtCreate
(
sendPaySuccessMessageVo
.
getGmtCreate
());
orderBean
.
setOid
(
sendPaySuccessMessageVo
.
getOrderCode
());
orderBean
.
setOrderType
(
sendPaySuccessMessageVo
.
getOrderType
());
orderBean
.
setOtherCode
(
sendPaySuccessMessageVo
.
getOtherCode
());
orderBean
.
setAmount
(
sendPaySuccessMessageVo
.
getAmount
());
OrderExtInfoDto
extInfoDto
=
JSON
.
parseObject
(
sendPaySuccessMessageVo
.
getExtInfo
(),
OrderExtInfoDto
.
class
);
extInfoDto
.
setAppid
(
extInfoDto
.
getAppid
());
extInfoDto
.
setOpenid
(
extInfoDto
.
getOpenid
());
extInfoDto
.
setPrepayId
(
extInfoDto
.
getPrepayId
());
orderBean
.
setExtInfo
(
JSON
.
toJSONString
(
extInfoDto
));
this
.
sendPaySuccessMessage
(
orderBean
);
}
}
order-application-service/src/main/java/cn/freemud/service/impl/PayServiceImpl.java
View file @
c589ac17
...
...
@@ -19,6 +19,7 @@ import cn.freemud.entities.dto.pay.svc.SVCCardAmountRequestDto;
import
cn.freemud.entities.dto.pay.svc.SVCCardAmountResponseDto
;
import
cn.freemud.entities.vo.CreateOrderResponseVo
;
import
cn.freemud.entities.vo.PaysuccessNoticeMessage
;
import
cn.freemud.entities.vo.PutRoundRobinVo
;
import
cn.freemud.entities.vo.order.CreateOrderUnionPayCardVo
;
import
cn.freemud.entities.vo.order.PlugInParameter
;
import
cn.freemud.enums.PayChannel
;
...
...
@@ -472,6 +473,10 @@ public class PayServiceImpl {
return
principalName
;
}
public
String
getPayConfig
(
String
partnerId
,
String
appId
)
{
return
this
.
getPaymentPrincipalName
(
partnerId
,
appId
);
}
/**
* 电子风味卡支付
...
...
@@ -1140,6 +1145,14 @@ public class PayServiceImpl {
return
""
;
}
public
String
getPayCodeByCondition
(
String
wxAppid
,
String
storeId
,
String
channel
)
{
if
(
channel
!=
null
)
{
return
this
.
getPayCodeByChanel
(
wxAppid
,
channel
,
storeId
);
}
return
this
.
getPayCodeByChanel
(
wxAppid
,
storeId
);
}
/**
* 获取混合支付是否开启
...
...
@@ -1492,4 +1505,19 @@ public class PayServiceImpl {
return
checkSvcAmountResponse
;
}
public
String
generateZeroPayFmId
()
{
String
fmId
=
"SPAY"
+
ValidationCode
.
getRandomUuid
();
return
fmId
;
}
public
void
putRoundRobin
(
PutRoundRobinVo
putRoundRobinVo
)
{
//加入轮训队列
this
.
putDelMq
(
putRoundRobinVo
.
getPartnerId
(),
putRoundRobinVo
.
getStoreId
(),
putRoundRobinVo
.
getFmId
(),
putRoundRobinVo
.
getOrderCode
(),
(
int
)
putRoundRobinVo
.
getIndex
());
}
}
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