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
ec7f7737
Commit
ec7f7737
authored
Jan 06, 2022
by
ping.wu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
无单收银使用储值卡校验余额
parent
1ab2de56
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
238 additions
and
101 deletions
+238
-101
order-application-service/src/main/java/cn/freemud/controller/OrderController.java
+11
-0
order-application-service/src/main/java/cn/freemud/entities/bo/CheckSvcAmountBo.java
+28
-0
order-application-service/src/main/java/cn/freemud/entities/bo/CheckSvcAmountResponse.java
+23
-0
order-application-service/src/main/java/cn/freemud/entities/dto/order/CreateCashierOrderDto.java
+5
-0
order-application-service/src/main/java/cn/freemud/entities/vo/order/CashierCheckResponseVo.java
+23
-0
order-application-service/src/main/java/cn/freemud/entities/vo/order/CashierCheckVo.java
+54
-0
order-application-service/src/main/java/cn/freemud/entities/vo/order/CreateCashierOrderVo.java
+6
-0
order-application-service/src/main/java/cn/freemud/service/CashierOrderService.java
+9
-0
order-application-service/src/main/java/cn/freemud/service/impl/CashierOrderServiceImpl.java
+19
-1
order-application-service/src/main/java/cn/freemud/service/impl/OrderAdapterServiceImpl.java
+13
-0
order-application-service/src/main/java/cn/freemud/service/impl/PayServiceImpl.java
+47
-100
No files found.
order-application-service/src/main/java/cn/freemud/controller/OrderController.java
View file @
ec7f7737
...
@@ -536,5 +536,16 @@ public class OrderController {
...
@@ -536,5 +536,16 @@ public class OrderController {
return
ResponseUtil
.
success
();
return
ResponseUtil
.
success
();
}
}
/**
* 无单收银使用储值卡混合支付校验余额
*/
@ApiAnnotation
(
logMessage
=
"cashierCheck"
)
@PostMapping
(
"/cashierCheck"
)
public
BaseResponse
<
CashierCheckResponseVo
>
cashierCheck
(
@Validated
@LogParams
@RequestBody
CashierCheckVo
request
)
{
CreateCashierOrderDto
dto
=
new
CreateCashierOrderDto
();
BeanUtils
.
copyProperties
(
request
,
dto
);
return
ResponseUtil
.
success
(
orderAdapterService
.
cashierCheck
(
dto
));
}
}
}
order-application-service/src/main/java/cn/freemud/entities/bo/CheckSvcAmountBo.java
0 → 100644
View file @
ec7f7737
package
cn
.
freemud
.
entities
.
bo
;
import
lombok.Data
;
@Data
public
class
CheckSvcAmountBo
{
/**
* 商户号
*/
private
String
partnerId
;
/**
* 门店号
*/
private
String
storeCode
;
/**
* 订单金额(单位:分)
*/
private
Long
orderAmount
;
/**
* 储值卡卡号
*/
private
String
cardCode
;
}
order-application-service/src/main/java/cn/freemud/entities/bo/CheckSvcAmountResponse.java
0 → 100644
View file @
ec7f7737
package
cn
.
freemud
.
entities
.
bo
;
import
lombok.Data
;
@Data
public
class
CheckSvcAmountResponse
{
/**
* 储值卡支付金额(分)
*/
private
Long
svcPayAmount
;
/**
* 微信或支付宝 支付金额(分)
*/
private
Long
payAmount
;
/**
* 错误提示
*/
private
String
msg
;
}
order-application-service/src/main/java/cn/freemud/entities/dto/order/CreateCashierOrderDto.java
View file @
ec7f7737
...
@@ -31,6 +31,11 @@ public class CreateCashierOrderDto {
...
@@ -31,6 +31,11 @@ public class CreateCashierOrderDto {
private
Long
orderAmount
;
private
Long
orderAmount
;
/**
/**
* 储值卡卡号
*/
private
String
cardCode
;
/**
* 小程序版本号
* 小程序版本号
*/
*/
private
String
version
;
private
String
version
;
...
...
order-application-service/src/main/java/cn/freemud/entities/vo/order/CashierCheckResponseVo.java
0 → 100644
View file @
ec7f7737
package
cn
.
freemud
.
entities
.
vo
.
order
;
import
lombok.Data
;
@Data
public
class
CashierCheckResponseVo
{
/**
* 储值卡支付金额(分)
*/
private
Long
svcPayAmount
;
/**
* 微信或支付宝 支付金额(分)
*/
private
Long
payAmount
;
/**
* 错误提示
*/
private
String
msg
;
}
order-application-service/src/main/java/cn/freemud/entities/vo/order/CashierCheckVo.java
0 → 100644
View file @
ec7f7737
package
cn
.
freemud
.
entities
.
vo
.
order
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.Min
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
@Data
public
class
CashierCheckVo
{
/**
* 用户登陆的session
*/
@ApiModelProperty
(
"用户登陆的session"
)
@NotEmpty
(
message
=
"请先授权登陆"
)
private
String
sessionId
;
/**
* 商户号
*/
@ApiModelProperty
(
"商户号"
)
@NotEmpty
(
message
=
"商户号必填"
)
private
String
partnerId
;
/**
* 门店号
*/
@ApiModelProperty
(
"门店号"
)
@NotEmpty
(
message
=
"门店号必填"
)
private
String
storeCode
;
/**
* 订单金额(单位:分)
*/
@ApiModelProperty
(
"订单金额(单位:分)"
)
@NotNull
(
message
=
"请输入订单金额"
)
@Min
(
value
=
1
,
message
=
"请输入有效的订单金额哟"
)
private
Long
orderAmount
;
/**
* 储值卡卡号
*/
@ApiModelProperty
(
"储值卡卡号"
)
private
String
cardCode
;
/**
* 小程序版本号
*/
@ApiModelProperty
(
"小程序版本号"
)
private
String
version
;
}
order-application-service/src/main/java/cn/freemud/entities/vo/order/CreateCashierOrderVo.java
View file @
ec7f7737
...
@@ -45,6 +45,12 @@ public class CreateCashierOrderVo {
...
@@ -45,6 +45,12 @@ public class CreateCashierOrderVo {
private
Long
orderAmount
;
private
Long
orderAmount
;
/**
/**
* 储值卡卡号
*/
@ApiModelProperty
(
"储值卡卡号"
)
private
String
cardCode
;
/**
* 小程序版本号
* 小程序版本号
*/
*/
@ApiModelProperty
(
"小程序版本号"
)
@ApiModelProperty
(
"小程序版本号"
)
...
...
order-application-service/src/main/java/cn/freemud/service/CashierOrderService.java
View file @
ec7f7737
...
@@ -4,6 +4,7 @@ import cn.freemud.entities.dto.ConfirmOrderDto;
...
@@ -4,6 +4,7 @@ import cn.freemud.entities.dto.ConfirmOrderDto;
import
cn.freemud.entities.dto.order.CreateCashierOrderDto
;
import
cn.freemud.entities.dto.order.CreateCashierOrderDto
;
import
cn.freemud.entities.vo.CreateOrderResponseVo
;
import
cn.freemud.entities.vo.CreateOrderResponseVo
;
import
cn.freemud.entities.vo.PaysuccessNoticeMessage
;
import
cn.freemud.entities.vo.PaysuccessNoticeMessage
;
import
cn.freemud.entities.vo.order.CashierCheckResponseVo
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
;
import
com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1
;
import
com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1
;
...
@@ -35,4 +36,12 @@ public interface CashierOrderService {
...
@@ -35,4 +36,12 @@ public interface CashierOrderService {
* @return 处理结果json字符串
* @return 处理结果json字符串
*/
*/
String
paySuccessCallback
(
PaysuccessNoticeMessage
message
,
ConfirmOrderDto
confirmOrderDto
,
Map
<
String
,
OrderBeanV1
>
orderBeans
);
String
paySuccessCallback
(
PaysuccessNoticeMessage
message
,
ConfirmOrderDto
confirmOrderDto
,
Map
<
String
,
OrderBeanV1
>
orderBeans
);
/**
* 无单收银使用储值卡校验余额
* @param createOrderDto 同创建无单收银订单请求数据
* @param member 会员信息
* @return 储值卡支付金额和现金支付金额
*/
CashierCheckResponseVo
cashierCheck
(
CreateCashierOrderDto
createOrderDto
,
AssortmentCustomerInfoVo
member
);
}
}
order-application-service/src/main/java/cn/freemud/service/impl/CashierOrderServiceImpl.java
View file @
ec7f7737
...
@@ -3,6 +3,8 @@ package cn.freemud.service.impl;
...
@@ -3,6 +3,8 @@ package cn.freemud.service.impl;
import
cn.freemud.adapter.LightApplicationConvertToAssortmentSdkAdapter
;
import
cn.freemud.adapter.LightApplicationConvertToAssortmentSdkAdapter
;
import
cn.freemud.base.util.DateUtil
;
import
cn.freemud.base.util.DateUtil
;
import
cn.freemud.constant.ResponseCodeConstant
;
import
cn.freemud.constant.ResponseCodeConstant
;
import
cn.freemud.entities.bo.CheckSvcAmountBo
;
import
cn.freemud.entities.bo.CheckSvcAmountResponse
;
import
cn.freemud.entities.dto.ConfirmOrderDto
;
import
cn.freemud.entities.dto.ConfirmOrderDto
;
import
cn.freemud.entities.dto.StoreResponseDto
;
import
cn.freemud.entities.dto.StoreResponseDto
;
import
cn.freemud.entities.dto.order.CreateCashierOrderDto
;
import
cn.freemud.entities.dto.order.CreateCashierOrderDto
;
...
@@ -10,6 +12,7 @@ import cn.freemud.entities.dto.order.CreatePrepayRequestDto;
...
@@ -10,6 +12,7 @@ import cn.freemud.entities.dto.order.CreatePrepayRequestDto;
import
cn.freemud.entities.dto.store.StoreMixResponseDto
;
import
cn.freemud.entities.dto.store.StoreMixResponseDto
;
import
cn.freemud.entities.vo.CreateOrderResponseVo
;
import
cn.freemud.entities.vo.CreateOrderResponseVo
;
import
cn.freemud.entities.vo.PaysuccessNoticeMessage
;
import
cn.freemud.entities.vo.PaysuccessNoticeMessage
;
import
cn.freemud.entities.vo.order.CashierCheckResponseVo
;
import
cn.freemud.enums.OrderBeanType
;
import
cn.freemud.enums.OrderBeanType
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.enums.UserLoginChannelEnum
;
import
cn.freemud.enums.UserLoginChannelEnum
;
...
@@ -31,10 +34,10 @@ import com.freemud.application.sdk.api.ordercenter.request.create.CreateOrderReq
...
@@ -31,10 +34,10 @@ import com.freemud.application.sdk.api.ordercenter.request.create.CreateOrderReq
import
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp
;
import
com.freemud.application.sdk.api.ordercenter.response.OrderBaseResp
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs
;
import
com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.application.sdk.api.ordercenter.service.OrderSdkService
;
import
com.freemud.sdk.api.assortment.order.adapter.OrderSdkAdapter
;
import
com.freemud.sdk.api.assortment.order.request.order.ConfirmOrderRequest
;
import
com.freemud.sdk.api.assortment.order.request.order.ConfirmOrderRequest
;
import
com.google.common.collect.Maps
;
import
com.google.common.collect.Maps
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
...
@@ -91,6 +94,7 @@ public class CashierOrderServiceImpl implements CashierOrderService {
...
@@ -91,6 +94,7 @@ public class CashierOrderServiceImpl implements CashierOrderService {
createPrepayRequestDto
.
setOpenId
(
member
.
getOpenId
());
createPrepayRequestDto
.
setOpenId
(
member
.
getOpenId
());
createPrepayRequestDto
.
setTotalAmount
(
createOrderDto
.
getOrderAmount
());
createPrepayRequestDto
.
setTotalAmount
(
createOrderDto
.
getOrderAmount
());
createPrepayRequestDto
.
setChannel
(
Objects
.
requireNonNull
(
PayChannelType
.
getByIndex
(
request
.
getPayChannelType
())).
getEbcode
());
createPrepayRequestDto
.
setChannel
(
Objects
.
requireNonNull
(
PayChannelType
.
getByIndex
(
request
.
getPayChannelType
())).
getEbcode
());
createPrepayRequestDto
.
setCardCode
(
createOrderDto
.
getCardCode
());
OrderBeanV1
orderBeanV1
=
orderCenterSdkAdapter
.
convent2NEWOrderInfo
(
response
.
getResult
());
OrderBeanV1
orderBeanV1
=
orderCenterSdkAdapter
.
convent2NEWOrderInfo
(
response
.
getResult
());
createPrepayRequestDto
.
setProductOrderBean
(
orderBeanV1
);
createPrepayRequestDto
.
setProductOrderBean
(
orderBeanV1
);
createPrepayRequestDto
.
setFatherOrderBean
(
orderBeanV1
);
createPrepayRequestDto
.
setFatherOrderBean
(
orderBeanV1
);
...
@@ -190,4 +194,18 @@ public class CashierOrderServiceImpl implements CashierOrderService {
...
@@ -190,4 +194,18 @@ public class CashierOrderServiceImpl implements CashierOrderService {
map
.
put
(
"message"
,
"success"
);
map
.
put
(
"message"
,
"success"
);
return
JSONObject
.
toJSONString
(
map
);
return
JSONObject
.
toJSONString
(
map
);
}
}
/**
* 无单收银使用储值卡混合支付
*/
@Override
public
CashierCheckResponseVo
cashierCheck
(
CreateCashierOrderDto
createOrderDto
,
AssortmentCustomerInfoVo
member
)
{
CheckSvcAmountBo
bo
=
new
CheckSvcAmountBo
();
BeanUtils
.
copyProperties
(
createOrderDto
,
bo
);
CheckSvcAmountResponse
checkSvcAmountResponse
=
payService
.
checkSvcAmount
(
bo
);
CashierCheckResponseVo
responseVo
=
new
CashierCheckResponseVo
();
BeanUtils
.
copyProperties
(
checkSvcAmountResponse
,
responseVo
);
return
responseVo
;
}
}
}
order-application-service/src/main/java/cn/freemud/service/impl/OrderAdapterServiceImpl.java
View file @
ec7f7737
...
@@ -8,6 +8,7 @@ import cn.freemud.entities.bo.CreateOrderBONew;
...
@@ -8,6 +8,7 @@ import cn.freemud.entities.bo.CreateOrderBONew;
import
cn.freemud.entities.dto.ConfirmOrderDto
;
import
cn.freemud.entities.dto.ConfirmOrderDto
;
import
cn.freemud.entities.dto.order.CreateCashierOrderDto
;
import
cn.freemud.entities.dto.order.CreateCashierOrderDto
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.entities.vo.*
;
import
cn.freemud.entities.vo.order.CashierCheckResponseVo
;
import
cn.freemud.entities.vo.order.PaymentConfigVo
;
import
cn.freemud.entities.vo.order.PaymentConfigVo
;
import
cn.freemud.entities.vo.order.PlugInParameter
;
import
cn.freemud.entities.vo.order.PlugInParameter
;
import
cn.freemud.enums.*
;
import
cn.freemud.enums.*
;
...
@@ -393,4 +394,16 @@ public class OrderAdapterServiceImpl {
...
@@ -393,4 +394,16 @@ public class OrderAdapterServiceImpl {
}
}
/**
* 无单收银使用储值卡混合支付
*/
public
CashierCheckResponseVo
cashierCheck
(
CreateCashierOrderDto
createOrderDto
)
{
AssortmentCustomerInfoVo
member
=
assortmentCustomerInfoManager
.
getCustomerInfoByObject
(
createOrderDto
.
getSessionId
());
if
(
member
==
null
||
StringUtils
.
isEmpty
(
member
.
getMemberId
()))
{
throw
new
ServiceException
(
ResponseResult
.
NOT_LOGIN
);
}
//校验储值卡余额
return
cashierOrderService
.
cashierCheck
(
createOrderDto
,
member
);
}
}
}
order-application-service/src/main/java/cn/freemud/service/impl/PayServiceImpl.java
View file @
ec7f7737
...
@@ -6,6 +6,8 @@ import cn.freemud.base.log.ErrorLog;
...
@@ -6,6 +6,8 @@ import cn.freemud.base.log.ErrorLog;
import
cn.freemud.base.util.DateUtil
;
import
cn.freemud.base.util.DateUtil
;
import
cn.freemud.constant.RedisKeyConstant
;
import
cn.freemud.constant.RedisKeyConstant
;
import
cn.freemud.constant.ResponseCodeConstant
;
import
cn.freemud.constant.ResponseCodeConstant
;
import
cn.freemud.entities.bo.CheckSvcAmountBo
;
import
cn.freemud.entities.bo.CheckSvcAmountResponse
;
import
cn.freemud.entities.dto.SvcComPayRequestDto
;
import
cn.freemud.entities.dto.SvcComPayRequestDto
;
import
cn.freemud.entities.dto.SvcComPayResponseDto
;
import
cn.freemud.entities.dto.SvcComPayResponseDto
;
import
cn.freemud.entities.dto.order.CreatePrepayRequestDto
;
import
cn.freemud.entities.dto.order.CreatePrepayRequestDto
;
...
@@ -1341,10 +1343,6 @@ public class PayServiceImpl {
...
@@ -1341,10 +1343,6 @@ public class PayServiceImpl {
if
(!
Objects
.
equals
(
checkParam
.
getCode
(),
"100"
))
{
if
(!
Objects
.
equals
(
checkParam
.
getCode
(),
"100"
))
{
return
checkParam
;
return
checkParam
;
}
else
{
}
else
{
// String receiveJsonStr = this.setPayValueFromSDKByManager(refundRequest.getPartnerId(), refundRequest.getStoreId(), refundRequest.getRefundAmount() + vipAmount, vipAmount, wxAppStore.getIndirectId(), false);
// if (!StringUtils.isEmpty(receiveJsonStr)) {
// request.setAccountDivided(receiveJsonStr);
// }
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
PayRefundData
>
refundNewResponse
=
null
;
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
PayRefundData
>
refundNewResponse
=
null
;
try
{
try
{
refundNewResponse
=
omsPaymentClient
.
payRefund
(
request
);
refundNewResponse
=
omsPaymentClient
.
payRefund
(
request
);
...
@@ -1393,15 +1391,6 @@ public class PayServiceImpl {
...
@@ -1393,15 +1391,6 @@ public class PayServiceImpl {
}
}
}
}
// private String setPayValueFromSDKByManager(String partnerId, String storeId, Long totalAmount, Long vipAmount, Long indirectId, boolean isPay) {
// if (indirectId == null) {
// return null;
// } else {
// AssortmentOpenPlatformPartnerMerchant openPlatformPartnerMerchant = openPlatformPartnerMerchantManager.selectMerchantDetail(indirectId);
// List<ReceiverBiz> dtoReceivers = this.calcReceiverNew(openPlatformPartnerMerchant, partnerId, storeId, totalAmount, vipAmount, isPay);
// return this.convertOrderPayRequestToReceivers(dtoReceivers);
// }
// }
public
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
OrderRefundResponse
>
checkParam
(
String
partnerId
,
String
storeId
,
Long
amount
,
AssortmentOpenPlatformIappWxappStore
wxAppStore
)
{
public
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
OrderRefundResponse
>
checkParam
(
String
partnerId
,
String
storeId
,
Long
amount
,
AssortmentOpenPlatformIappWxappStore
wxAppStore
)
{
if
(
StringUtils
.
isBlank
(
partnerId
))
{
if
(
StringUtils
.
isBlank
(
partnerId
))
{
...
@@ -1415,97 +1404,55 @@ public class PayServiceImpl {
...
@@ -1415,97 +1404,55 @@ public class PayServiceImpl {
}
}
}
}
/**
/**
* 新获取分账信息逻辑
* 校验五单收银 储值卡余额,返回储值支付金额与现金支付金额
*
* @param openPlatformPartnerMerchant 收单方
* @param partnerId
* @param storeId
* @param totalAmount
* @return
*/
*/
// public List<ReceiverBiz> calcReceiverNew(AssortmentOpenPlatformPartnerMerchant openPlatformPartnerMerchant, String partnerId, String storeId, Long totalAmount, Long vipAmount, boolean isPay) {
public
CheckSvcAmountResponse
checkSvcAmount
(
CheckSvcAmountBo
checkSvcAmountBo
)
{
// String platform = openPlatformPartnerMerchant != null ? openPlatformPartnerMerchant.getPlatform() : "";
// if (!PlatformType.YI_BAO_PAYMENT.getCode().equals(platform) && !PlatformType.YF_PAYMENT.getCode().equals(platform)) {
// return null;
// }
// AssortmentOpenPlatformPartnerMerchantAccountManager openPlatformPartnerMerchantAccountManager = ApplicationBeanManager.getBean(AssortmentOpenPlatformPartnerMerchantAccountManager.class);
// Long orderAmount;
// List<ReceiverBiz> result = Lists.newArrayList();
// List<AssortmentOpenPlatformPartnerMerchantAccount> openPlatformPartnerMerchantAccounts;
// if (vipAmount == null || vipAmount == 0L) {
// // 不走会员分账
// openPlatformPartnerMerchantAccounts = openPlatformPartnerMerchantAccountManager.selectByRuleId(partnerId, storeId, PayRuleIdEnum.DEFAULT.getCode());
// orderAmount = totalAmount;
// } else {
// // 走会员分账
// openPlatformPartnerMerchantAccounts = vipSubAccount(partnerId, storeId, vipAmount, platform, openPlatformPartnerMerchantAccountManager, result, isPay);
// orderAmount = totalAmount - vipAmount;
// }
// ReceiverService receiverService = ApplicationBeanManager.getBean(platform, ReceiverService.class);
// if (receiverService == null) {
// return null;
// }
// List<ReceiverBiz> list = receiverService.getReceivers(openPlatformPartnerMerchant, openPlatformPartnerMerchantAccounts, orderAmount, isPay);
// result.addAll(list);
// return result;
// }
/**
CheckSvcAmountResponse
checkSvcAmountResponse
=
new
CheckSvcAmountResponse
();
* 易宝会员分账计算
*
* @param partnerId
* @param storeId
* @param vipAmount
* @param platform
* @param openPlatformPartnerMerchantAccountManager
* @param result
* @return
*/
// private List<AssortmentOpenPlatformPartnerMerchantAccount> vipSubAccount(String partnerId, String storeId, Long vipAmount, String platform, AssortmentOpenPlatformPartnerMerchantAccountManager openPlatformPartnerMerchantAccountManager
// , List<ReceiverBiz> result, boolean isPay) {
// // 退款不需要计算会员分账
// if (!PlatformType.YI_BAO_PAYMENT.getCode().equals(platform)) {
// return Collections.emptyList();
// }
// // 查询固定金额得分账记录
// List<AssortmentOpenPlatformPartnerMerchantAccount> openPlatformPartnerMerchantAccounts = null;
// List<AssortmentOpenPlatformPartnerMerchantAccount> payRates = openPlatformPartnerMerchantAccountManager.selectPayRate(partnerId, storeId, vipAmount + "", PayRuleTypeEnum.FIXED_AMOUNT.getCode());
// if (CollectionUtils.isNotEmpty(payRates)) {
// AssortmentOpenPlatformPartnerMerchantAccount account = payRates.get(0);
// if (isPay) {
// ReceiverBiz receiver = new ReceiverBiz();
// receiver.setAccount(account.getAccountCard());
// //传整数,直接去除小数点后面的数字
// receiver.setPrice(vipAmount);
// receiver.setName(account.getAccountName());
// result.add(receiver);
// }
// List<AssortmentOpenPlatformPartnerMerchantAccount> subAccounts = openPlatformPartnerMerchantAccountManager.selectByRuleId(partnerId, storeId, account.getRuleId());
// // 剔除固定金额
// openPlatformPartnerMerchantAccounts = subAccounts.stream().filter(a -> Objects.equals(a.getRuleType(), PayRuleTypeEnum.FIXED_PROPORTION.getCode())).collect(Collectors.toList());
// }
// return openPlatformPartnerMerchantAccounts;
// }
String
partnerId
=
checkSvcAmountBo
.
getPartnerId
();
String
storeId
=
checkSvcAmountBo
.
getStoreCode
();
String
cardCode
=
checkSvcAmountBo
.
getCardCode
();
Long
orderAmount
=
checkSvcAmountBo
.
getOrderAmount
();
// public String convertOrderPayRequestToReceivers(List<ReceiverBiz> receiverBizs) {
//混合支付开关
// if (CollectionUtils.isEmpty(receiverBizs)) {
boolean
combPaySwitch
=
this
.
checkSvcComPay
(
partnerId
,
storeId
);
// return null;
// }
SVCCardAmountRequestDto
svcRequest
=
new
SVCCardAmountRequestDto
();
// //分账
svcRequest
.
setPartnerId
(
partnerId
);
// List<ReceiverBiz> receivers = receiverBizs;
svcRequest
.
setCardCodes
(
Arrays
.
asList
(
cardCode
));
// List<AccountDivideVo> divideVos = new ArrayList<>();
//查询svc卡余额
// for (ReceiverBiz receiver : receivers) {
BaseResponse
<
SVCCardAmountResponseDto
>
svcCardAmountResponseBaseResponse
=
svcAppClient
.
batchQueryCardAmount
(
svcRequest
);
// AccountDivideVo divideVo = new AccountDivideVo();
if
(
svcCardAmountResponseBaseResponse
==
null
||
!
ResponseCodeConstant
.
RESPONSE_SUCCESS_STR
.
equals
(
svcCardAmountResponseBaseResponse
.
getCode
())
// divideVo.setLedgerNo(receiver.getAccount());
||
svcCardAmountResponseBaseResponse
.
getResult
()
==
null
||
CollectionUtils
.
isEmpty
(
svcCardAmountResponseBaseResponse
.
getResult
().
getCardSimpleInfos
()))
{
// divideVo.setLedgerName(receiver.getName());
checkSvcAmountResponse
.
setMsg
(
Objects
.
isNull
(
svcCardAmountResponseBaseResponse
)
?
"获取卡余额异常"
:
svcCardAmountResponseBaseResponse
.
getMessage
());
// Double amount = receiver.getPrice() / 100d;
return
checkSvcAmountResponse
;
// divideVo.setAmount(amount + "");
}
// divideVos.add(divideVo);
Integer
amount
=
svcCardAmountResponseBaseResponse
.
getResult
().
getCardSimpleInfos
().
get
(
0
).
getAmount
();
// }
Integer
vamount
=
svcCardAmountResponseBaseResponse
.
getResult
().
getCardSimpleInfos
().
get
(
0
).
getVamount
();
// return JSONObject.toJSONString(divideVos);
// }
Integer
svcAmount
=
amount
+
vamount
;
if
(!
combPaySwitch
&&
svcAmount
<
orderAmount
)
{
checkSvcAmountResponse
.
setMsg
(
"卡余额不足"
);
return
checkSvcAmountResponse
;
}
//储值卡支付金额(分)
Long
svcPayAmount
;
//微信或支付宝 支付金额(分)
Long
payAmount
;
if
(
svcAmount
<
orderAmount
)
{
svcPayAmount
=
svcAmount
.
longValue
();
payAmount
=
orderAmount
-
svcAmount
.
longValue
();
}
else
{
svcPayAmount
=
orderAmount
;
payAmount
=
0L
;
}
checkSvcAmountResponse
.
setSvcPayAmount
(
svcPayAmount
);
checkSvcAmountResponse
.
setPayAmount
(
payAmount
);
return
checkSvcAmountResponse
;
}
}
}
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