Commit 7aea696e by xiaoer.li@freemud.com

Merge branch 'feature/switch' into qa

# Conflicts:
#	assortment-ordercenter-sdk/pom.xml
#	assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
#	assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/response/order/QueryOrdersResponse.java
#	call-back-service/pom.xml
#	order-application-service/pom.xml
#	order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
#	order-application-service/src/main/java/cn/freemud/service/impl/OrderServiceImpl.java
#	order-management/pom.xml
#	ordercenter-sdk/pom.xml
#	shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartNewServiceImpl.java
parents 2e433f1f d1a4fca3
...@@ -145,4 +145,5 @@ ...@@ -145,4 +145,5 @@
| 2.1.2.RELEASE | 活动扣减库存 | 缪晖 | 2020-11-11 | | 2.1.2.RELEASE | 活动扣减库存 | 缪晖 | 2020-11-11 |
| 2.1.3-RELEASE | 退款增加自动退款配置的null判断 | 刘鹏飞 | 2020-11-12 | | 2.1.3-RELEASE | 退款增加自动退款配置的null判断 | 刘鹏飞 | 2020-11-12 |
| 2.1.4-RELEASE | 退款增加自动退款配置的null判断 | 刘鹏飞 | 2020-11-12 | | 2.1.4-RELEASE | 退款增加自动退款配置的null判断 | 刘鹏飞 | 2020-11-12 |
| 2.1.5-RELEASE | 麦咖啡权益卡金额入机 | 徐康 | 2020-11-23 | | 2.1.5-RELEASE | 麦咖啡权益卡金额入机 | 徐康 | 2020-11-23 |
\ No newline at end of file | 2.1.6-RELEASE | hun | 徐康 | 2020-11-23 |
\ No newline at end of file
...@@ -1170,6 +1170,8 @@ public class OrderSdkAdapter { ...@@ -1170,6 +1170,8 @@ public class OrderSdkAdapter {
data.setExpressChannelName(orderInfoReqs.getExpressChannelName()); data.setExpressChannelName(orderInfoReqs.getExpressChannelName());
//发票信息 //发票信息
data.setOrderInvoice(orderInfoReqs.getOrderInvoice()); data.setOrderInvoice(orderInfoReqs.getOrderInvoice());
data.setPayChannelType(orderInfoReqs.getPayChannelType());
data.setPickUpGoodsNo(orderInfoReqs.getPickUpGoodsNo());
//todo:混合支付 //todo:混合支付
if (CollectionUtils.isNotEmpty(orderInfoReqs.getOrderPayItemCreateReqList())) { if (CollectionUtils.isNotEmpty(orderInfoReqs.getOrderPayItemCreateReqList())) {
data.setOrderPayItem(this.getOrderItemPayList(orderInfoReqs.getOrderPayItemCreateReqList())); data.setOrderPayItem(this.getOrderItemPayList(orderInfoReqs.getOrderPayItemCreateReqList()));
...@@ -1346,6 +1348,9 @@ public class OrderSdkAdapter { ...@@ -1346,6 +1348,9 @@ public class OrderSdkAdapter {
case "MEMBER_PRICE_DISCOUNT": case "MEMBER_PRICE_DISCOUNT":
type=220; type=220;
break; break;
case "GATHER_SPOT":
type=221;
break;
default: default:
break; break;
} }
......
...@@ -12,7 +12,6 @@ ...@@ -12,7 +12,6 @@
*/ */
package com.freemud.sdk.api.assortment.order.response.order; package com.freemud.sdk.api.assortment.order.response.order;
import com.freemud.application.sdk.api.ordercenter.response.OrderPayItemResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.AfterSalesOrderResp; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.AfterSalesOrderResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderCostResp; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderCostResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInvoice; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInvoice;
...@@ -411,13 +410,11 @@ public class QueryOrdersResponse { ...@@ -411,13 +410,11 @@ public class QueryOrdersResponse {
private String downstreamThirdOrderCode; private String downstreamThirdOrderCode;
/** /**
* 混合支付list * 混合支付list
*/ */
//订单支付详情
private List<OrderPayItem> orderPayItem; private List<OrderPayItem> orderPayItem;
private String pickUpGoodsNo; private String pickUpGoodsNo;
@NoArgsConstructor @NoArgsConstructor
......
...@@ -12,7 +12,6 @@ ...@@ -12,7 +12,6 @@
*/ */
package cn.freemud.entities.dto; package cn.freemud.entities.dto;
import com.freemud.application.sdk.api.ordercenter.response.OrderPayItemResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderCostResp; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderCostResp;
import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse; import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse;
import lombok.Data; import lombok.Data;
...@@ -280,12 +279,6 @@ public class QueryOrdersResponseDto { ...@@ -280,12 +279,6 @@ public class QueryOrdersResponseDto {
*/ */
private BigDecimal weight; private BigDecimal weight;
/**
* 混合支付详情
*/
private List<OrderPayItemResp> orderPayItemCreateReqList;
@NoArgsConstructor @NoArgsConstructor
@Data @Data
public static class AddDeliveryInfo { public static class AddDeliveryInfo {
......
package cn.freemud.entities.dto;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: cn.freemud.entities.dto SvcComPayRequestDto
* @Description: TDO 描述....
* @author: 铁牌灵魂工程师
* @date: 2020/11/27
* @Copyright: www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
@NoArgsConstructor
public class SvcComPayRequestDto {
private String partnerId;
private String storeId;
}
package cn.freemud.entities.dto;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: cn.freemud.entities.dto SvcComPayResoonseDto
* @Description: TDO 描述....
* @author: 铁牌灵魂工程师
* @date: 2020/11/27
* @Copyright: www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
@NoArgsConstructor
public class SvcComPayResponseDto {
private Integer code;
private String message;
private Result result;
@Data
@NoArgsConstructor
static public class Result {
private Boolean value;
}
}
...@@ -161,6 +161,8 @@ public enum ResponseResult { ...@@ -161,6 +161,8 @@ public enum ResponseResult {
ORDER_TAKE_OUT_ADDRESS_NOT_VALID("45063", "收货地址校验失败"), ORDER_TAKE_OUT_ADDRESS_NOT_VALID("45063", "收货地址校验失败"),
ORDER_PICK_UP_GOOD_NO("45064", "更新取餐码失败"), ORDER_PICK_UP_GOOD_NO("45064", "更新取餐码失败"),
ORDER_NOT_CREATE_ERROR("45065", "请不要重复创建订单"), ORDER_NOT_CREATE_ERROR("45065", "请不要重复创建订单"),
MULTIORDER__ERRORREFUND("45005", "订单申请退款失败"),
/** /**
* 支付 * 支付
......
...@@ -288,6 +288,8 @@ public class OrderServiceImpl implements Orderservice { ...@@ -288,6 +288,8 @@ public class OrderServiceImpl implements Orderservice {
@Autowired @Autowired
private AssortmentOpenPlatformIappWxappStoreManager assortmentOpenPlatformIappWxappStoreManager; private AssortmentOpenPlatformIappWxappStoreManager assortmentOpenPlatformIappWxappStoreManager;
@Autowired
private SvcComPayClient svcComPayClient;
@Override @Override
public BaseResponse checkBeforeCreateOrder(CheckBeforeCreateOrderRequestVo requestVo) { public BaseResponse checkBeforeCreateOrder(CheckBeforeCreateOrderRequestVo requestVo) {
String trackingNo = LogTreadLocal.getTrackingNo(); String trackingNo = LogTreadLocal.getTrackingNo();
...@@ -1947,6 +1949,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1947,6 +1949,7 @@ public class OrderServiceImpl implements Orderservice {
req.setPartnerId(vo.getPartnerId()); req.setPartnerId(vo.getPartnerId());
req.setImgUlr(vo.getImgUrl()); req.setImgUlr(vo.getImgUrl());
req.setMobile(userInfo.getMobile()); req.setMobile(userInfo.getMobile());
req.setOperator(userInfo.getNickName());
//积分订单为4 //积分订单为4
req.setOrderType((byte) 4); req.setOrderType((byte) 4);
com.freemud.application.sdk.api.ordercenter.response.BaseResponse<OrderResp> result = orderSdkService.parking_v2_create(req, LogThreadLocal.getTrackingNo()); com.freemud.application.sdk.api.ordercenter.response.BaseResponse<OrderResp> result = orderSdkService.parking_v2_create(req, LogThreadLocal.getTrackingNo());
...@@ -2412,12 +2415,10 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2412,12 +2415,10 @@ public class OrderServiceImpl implements Orderservice {
, String storeId , String storeId
, String trackingNo) { , String trackingNo) {
boolean tigger = false;
OrderPayResponse orderPayResponse = new OrderPayResponse(); OrderPayResponse orderPayResponse = new OrderPayResponse();
tigger = true; boolean check = this.checkSvcComPay(orderBean.getCompanyId(), orderBean.getShopId());
//混合支付 //混合支付
//partnerId.contains() if (check && StringUtils.isNotBlank(channel)) {
if (svcSwitch && partnerId.contains(orderBean.getCompanyId()) && tigger && StringUtils.isNotBlank(channel)) {
log.info("混合支付:"); log.info("混合支付:");
String partnerPayOvertime = this.getPartnerPayOvertime(orderBean.getCompanyId()); String partnerPayOvertime = this.getPartnerPayOvertime(orderBean.getCompanyId());
orderPayResponse = comPayOrder(cardCode,orderBean,paymentRequest,partnerPayOvertime,totalAmount.intValue(),channel,storeId,LogThreadLocal.getTrackingNo()); orderPayResponse = comPayOrder(cardCode,orderBean,paymentRequest,partnerPayOvertime,totalAmount.intValue(),channel,storeId,LogThreadLocal.getTrackingNo());
...@@ -2543,33 +2544,8 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2543,33 +2544,8 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.error(ResponseResultEnum.PAY_UNIFIED_ORDER_ERROR.getCode(), ResponseResultEnum.PAY_UNIFIED_ORDER_ERROR.getMessage(), null); return ResponseUtil.error(ResponseResultEnum.PAY_UNIFIED_ORDER_ERROR.getCode(), ResponseResultEnum.PAY_UNIFIED_ORDER_ERROR.getMessage(), null);
} }
/** public OrderPayResponse getPreOrderPay(QueryOrdersResponse.DataBean.OrderBean orderBean, PaymentRequest paymentRequest, String trackingNo, Integer cardAmount, String transId, String partnerPayOvertime ,OrderExtInfoDto orderExtInfoDto) {
* 混合预支付 OrderPayResponse orderPayResponse;
* @param trackingNo
* @param orderBean
* @param cardCode
* @param orderClient
* @param msg
* @return
*/
private BaseResponse failCombPreOrderPay(String trackingNo, QueryOrdersResponse.DataBean.OrderBean orderBean, String cardCode, OrderClientType orderClient, String msg) {
List<OrderClientType> notCancelOrderClientList = Lists.newArrayList(OrderClientType.APP);
if(!notCancelOrderClientList.contains(orderClient)) {
//失败冲正库存,冲正活动库存,取消订单
CancelOrderRequest cancelOrderRequest = orderAdapter.convent2CancelOrderRequest(orderBean.getOid(), orderBean.getCompanyId(),
AfterSalesType.SYSTEM_CANCEL, StringUtils.join(new String[]{"获取预支付失败", msg}, '-'), trackingNo, null);
orderCenterSdkService.orderCancel(cancelOrderRequest);
// TODO: 2019/9/10 hubowen mq推送变更
backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
}
//svc 卡支付失败
//if (StringUtils.isNotBlank(cardCode)) {
// return ResponseUtil.error(ResponseResultEnum.PAY_BACKEND_CONFIG_ERROR.getCode(), ResponseResultEnum.PAY_BACKEND_CONFIG_ERROR.getMessage(), null);
//}
return ResponseUtil.error(ResponseResultEnum.PAY_UNIFIED_ORDER_ERROR.getCode(),"获取混合预支付信息失败", null);
}
public OrderPayResponse getPreOrderPay(QueryOrdersResponse.DataBean.OrderBean orderBean, PaymentRequest paymentRequest, String trackingNo, Integer cardAmount, String transId, String partnerPayOvertime, OrderExtInfoDto orderExtInfoDto) {
OrderPayResponse orderPayResponse = null;
try { try {
UnifiedOrderRequest request = orderAdapter.convent2UnifiedOrderRequest(orderBean, paymentRequest, orderBean.getAmount(), cardAmount, transId, partnerPayOvertime); UnifiedOrderRequest request = orderAdapter.convent2UnifiedOrderRequest(orderBean, paymentRequest, orderBean.getAmount(), cardAmount, transId, partnerPayOvertime);
if (orderExtInfoDto != null && StringUtils.isNotBlank(orderExtInfoDto.getStationId())) { if (orderExtInfoDto != null && StringUtils.isNotBlank(orderExtInfoDto.getStationId())) {
...@@ -3459,4 +3435,28 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3459,4 +3435,28 @@ public class OrderServiceImpl implements Orderservice {
// // TODO: 2019/9/10 hubowen mq推送变更 // // TODO: 2019/9/10 hubowen mq推送变更
// backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); // backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
//} //}
/**
* 获取混合支付是否开启
* @param partnerId
* @return
*/
private boolean checkSvcComPay(String partnerId,String storeId) {
SvcComPayRequestDto requestDto = new SvcComPayRequestDto();
requestDto.setPartnerId(partnerId);
requestDto.setStoreId(storeId);
SvcComPayResponseDto query = null;
for (int i=0;i<3;i++) {
query = svcComPayClient.query(requestDto);
if (query!=null) break;
}
if (query==null || !ResponseResult.SUCCESS.getCode().equals(query.getCode())) {
return false;
}
if (partnerId.equals(query.getResult().getValue())) {
return true;
}
else {
return false;
}
}
} }
package cn.freemud.service.thirdparty;
import cn.freemud.entities.dto.SvcComPayRequestDto;
import cn.freemud.entities.dto.SvcComPayResponseDto;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: cn.freemud.service.thirdparty SvcClient
* @Description: TDO 描述....
* @author: 铁牌灵魂工程师
* @date: 2020/11/27
* @Copyright: www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@FeignClient(name="payment-center-management", url = "${saas.svc.switch.feign.url}")
@RequestMapping(produces = {"application/json;charset=UTF-8"})
public interface SvcComPayClient {
@PostMapping("/paymentmanager/partnerSetting/queryAssociationPaymentFlagPartnerSetting")
SvcComPayResponseDto query(SvcComPayRequestDto svcComPayRequestDto);
}
...@@ -167,11 +167,9 @@ public class PaymentHandle { ...@@ -167,11 +167,9 @@ public class PaymentHandle {
throw new OrderServiceException(ResponseResult.REFUND_EXCEPTION); throw new OrderServiceException(ResponseResult.REFUND_EXCEPTION);
} }
List<MultiOrderRefundResponse.RefundPlatformResponse> refundPlatformResponseList = multiOrderRefundResponse.getData().refundPlatformResponseList; List<MultiOrderRefundResponse.RefundPlatformResponse> refundPlatformResponseList = multiOrderRefundResponse.getData().refundPlatformResponseList;
refundPlatformResponseList = refundPlatformResponseList.stream().filter(m -> !m.getEbcode().equalsIgnoreCase("10102")).collect(Collectors.toList());
if(null != refundPlatformResponseList && refundPlatformResponseList.size()>0){ if(null != refundPlatformResponseList && refundPlatformResponseList.size()>0){
redisCache.save(RedisUtil.getPaymentTransIdSequenceKey(refundPlatformResponseList.get(0).getTransId()),orderBean.getOid(),1L,TimeUnit.DAYS); redisCache.save(RedisUtil.getPaymentTransIdSequenceKey(refundPlatformResponseList.get(0).getTransId()),orderBean.getOid(),1L,TimeUnit.DAYS);
} }
return handlePayRefundResponse(refundStatus,multiOrderRefundRequest.getRefundTradeNo()); return handlePayRefundResponse(refundStatus,multiOrderRefundRequest.getRefundTradeNo());
} }
} }
...@@ -87,4 +87,5 @@ ...@@ -87,4 +87,5 @@
| 1.3.17.RELEASE | 集点推送改造 | 梁崇福 | 2020-10-28 | | 1.3.17.RELEASE | 集点推送改造 | 梁崇福 | 2020-10-28 |
| 1.3.18.RELEASE | 麦咖啡加料 | 徐康 | 2020-10-30 | | 1.3.18.RELEASE | 麦咖啡加料 | 徐康 | 2020-10-30 |
| 1.3.20.RELEASE | 麦咖啡权益卡金额入机 | 徐康 | 2020-11-23 | | 1.3.20.RELEASE | 麦咖啡权益卡金额入机 | 徐康 | 2020-11-23 |
| 1.3.21.RELEASE | 混支付 | 徐康 | 2020-11-26 |
...@@ -87,5 +87,10 @@ public class ParkingOrderCreateReq { ...@@ -87,5 +87,10 @@ public class ParkingOrderCreateReq {
*/ */
private Byte orderType; private Byte orderType;
/**
* 操作人
*/
private String operator;
} }
package cn.freemud.entities.dto;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: cn.freemud.entities.dto SvcComPayRequestDto
* @Description: TDO 描述....
* @author: 铁牌灵魂工程师
* @date: 2020/11/27
* @Copyright: www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
@NoArgsConstructor
public class SvcComPayRequestDto {
private String partnerId;
private String storeId;
}
package cn.freemud.entities.dto;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: cn.freemud.entities.dto SvcComPayResoonseDto
* @Description: TDO 描述....
* @author: 铁牌灵魂工程师
* @date: 2020/11/27
* @Copyright: www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
@NoArgsConstructor
public class SvcComPayResponseDto {
private Integer code;
private String message;
private Result result;
@Data
@NoArgsConstructor
static public class Result {
private Boolean value;
}
}
...@@ -156,6 +156,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -156,6 +156,8 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
private ActivityService activityService; private ActivityService activityService;
@Autowired @Autowired
private RedisCache redisCache; private RedisCache redisCache;
@Autowired
private SvcComPayClient svcComPayClient;
@Autowired @Autowired
private DeliveryFactory deliveryFactory; private DeliveryFactory deliveryFactory;
...@@ -1670,30 +1672,49 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -1670,30 +1672,49 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
if (response.getData() == null || response.getData().getData() == null || response.getData().getData().getCardSimpleInfos().size() > 1) { if (response.getData() == null || response.getData().getData() == null || response.getData().getData().getCardSimpleInfos().size() > 1) {
throw new ServiceException(ResponseResult.USER_SVC_CARD_ERROR); throw new ServiceException(ResponseResult.USER_SVC_CARD_ERROR);
} }
//混合支付无需校验svc卡余额,但是配送和包装费不计算在svc卡支付 boolean check = this.checkSvcComPay(partnerId, storeId);
Integer amount1 = response.getData().getData().getCardSimpleInfos().get(0).getAmount(); if (check) {
Integer vamount = response.getData().getData().getCardSimpleInfos().get(0).getVamount(); //混合支付无需校验svc卡余额,但是配送和包装费不计算在svc卡支付
Integer svcTotalAmount = amount1+vamount; Integer amount1 = response.getData().getData().getCardSimpleInfos().get(0).getAmount();
//获取实际配送费 Integer vamount = response.getData().getData().getCardSimpleInfos().get(0).getVamount();
Integer deliveryAmount = 0; Integer svcTotalAmount = amount1+vamount;
Integer svcPayAmount = 0; //获取实际配送费
if (StringUtils.isNotBlank(receiveId) && shoppingCartGoodsResponseVo.getDiscountDeliveryAmount() != null) { Integer deliveryAmount = 0;
//Integer deliveryAmount = getDeliveryAmount(receiveId, partnerId, storeId); Integer svcPayAmount = 0;
deliveryAmount = shoppingCartGoodsResponseVo.getDiscountDeliveryAmount().intValue(); if (StringUtils.isNotBlank(receiveId) && shoppingCartGoodsResponseVo.getDiscountDeliveryAmount() != null) {
orderAmount += deliveryAmount; //Integer deliveryAmount = getDeliveryAmount(receiveId, partnerId, storeId);
} deliveryAmount = shoppingCartGoodsResponseVo.getDiscountDeliveryAmount().intValue();
if (svcTotalAmount>0 && svcTotalAmount>orderAmount) { orderAmount += deliveryAmount;
svcPayAmount = orderAmount; }
shoppingCartGoodsResponseVo.setTotalAmount(0L); if (svcTotalAmount>0 && svcTotalAmount>orderAmount) {
svcPayAmount = orderAmount;
shoppingCartGoodsResponseVo.setTotalAmount(0L);
}
else if (svcTotalAmount>0 && svcTotalAmount<=orderAmount) {
svcPayAmount = svcTotalAmount;
shoppingCartGoodsResponseVo.setTotalAmount((orderAmount.longValue()-svcPayAmount.longValue()));
}
BigDecimal bigDecimal = new BigDecimal(svcPayAmount);
String amountStr = bigDecimal.divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP).toString();
shoppingCartGoodsResponseVo.setSvcPayAmount(amountStr);
shoppingCartGoodsResponseVo.setSvcDiscountDesc("储值卡支付¥" + amountStr);
} }
else if (svcTotalAmount>0 && svcTotalAmount<=orderAmount) { else {
svcPayAmount = svcTotalAmount; //获取实际配送费
shoppingCartGoodsResponseVo.setTotalAmount((orderAmount.longValue()-svcPayAmount.longValue())); if (StringUtils.isNotBlank(receiveId) && shoppingCartGoodsResponseVo.getDiscountDeliveryAmount() != null) {
Integer deliveryAmount = shoppingCartGoodsResponseVo.getDiscountDeliveryAmount().intValue();
orderAmount += deliveryAmount;
}
Integer amount1 = response.getData().getData().getCardSimpleInfos().get(0).getAmount();
Integer vamount = response.getData().getData().getCardSimpleInfos().get(0).getVamount();
if (orderAmount > amount1 + vamount) {
throw new ServiceException(ResponseResult.USER_SVC_CARD_AMOUNT_DEFICIENCY);
}
BigDecimal bigDecimal = new BigDecimal(orderAmount);
String amountStr = bigDecimal.divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP).toString();
shoppingCartGoodsResponseVo.setTotalAmount(0L);
shoppingCartGoodsResponseVo.setSvcDiscountDesc("储值卡支付¥" + amountStr);
} }
BigDecimal bigDecimal = new BigDecimal(svcPayAmount);
String amountStr = bigDecimal.divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP).toString();
shoppingCartGoodsResponseVo.setSvcPayAmount(amountStr);
shoppingCartGoodsResponseVo.setSvcDiscountDesc("储值卡支付¥" + amountStr);
} }
/** /**
...@@ -2077,4 +2098,28 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService { ...@@ -2077,4 +2098,28 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
} }
/**
* 获取混合支付是否开启
* @param partnerId
* @return
*/
private boolean checkSvcComPay(String partnerId,String storeId) {
SvcComPayRequestDto requestDto = new SvcComPayRequestDto();
requestDto.setPartnerId(partnerId);
requestDto.setStoreId(storeId);
SvcComPayResponseDto query = null;
for (int i=0;i<3;i++) {
query = svcComPayClient.query(requestDto);
if (query!=null) break;
}
if (query==null || !ResponseResult.SUCCESS.getCode().equals(query.getCode())) {
return false;
}
if (partnerId.equals(query.getResult().getValue())) {
return true;
}
else {
return false;
}
}
} }
package cn.freemud.service.thirdparty;
import cn.freemud.entities.dto.SvcComPayRequestDto;
import cn.freemud.entities.dto.SvcComPayResponseDto;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @Title: cn.freemud.service.thirdparty SvcClient
* @Description: TDO 描述....
* @author: 铁牌灵魂工程师
* @date: 2020/11/27
* @Copyright: www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@FeignClient(name="payment-center-management", url = "${saas.svc.switch.feign.url}")
@RequestMapping(produces = {"application/json;charset=UTF-8"})
public interface SvcComPayClient {
@PostMapping("/paymentmanager/partnerSetting/queryAssociationPaymentFlagPartnerSetting")
SvcComPayResponseDto query(SvcComPayRequestDto svcComPayRequestDto);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment