Commit 13f48a9a by ping.wu

Merge branches 'feature/20220606_支付退款状态码_wuping' and 'pre' of…

Merge branches 'feature/20220606_支付退款状态码_wuping' and 'pre' of http://gitlab.freemud.com/order-group-application/order-group into pre
parents b8007707 760f8f67
...@@ -5,7 +5,7 @@ import lombok.Data; ...@@ -5,7 +5,7 @@ import lombok.Data;
@Data @Data
public class CloseUnifiedOrderResult { public class CloseUnifiedOrderResult {
private Integer resultCode; private String resultCode;
private String resultMsg; private String resultMsg;
} }
package cn.freemud.entities.dto.pay; //package cn.freemud.entities.dto.pay;
//
public class PaymentCloseUnifiedOrderResponse { //public class PaymentCloseUnifiedOrderResponse {
//
private Integer code; // private Integer code;
private String message; // private String message;
private CloseUnifiedOrderResult data; // private CloseUnifiedOrderResult data;
//
} //}
...@@ -10,10 +10,7 @@ import cn.freemud.entities.dto.coupon.InvalidCouponsRequestDto; ...@@ -10,10 +10,7 @@ import cn.freemud.entities.dto.coupon.InvalidCouponsRequestDto;
import cn.freemud.entities.dto.coupon.InvalidCouponsResponseDto; import cn.freemud.entities.dto.coupon.InvalidCouponsResponseDto;
import cn.freemud.entities.dto.order.CreateOrderOperateDto; import cn.freemud.entities.dto.order.CreateOrderOperateDto;
import cn.freemud.entities.dto.order.CreatePrepayRequestDto; import cn.freemud.entities.dto.order.CreatePrepayRequestDto;
import cn.freemud.entities.dto.pay.PaymentCloseUnifiedOrderRequest; import cn.freemud.entities.dto.pay.*;
import cn.freemud.entities.dto.pay.PaymentCloseUnifiedOrderResponse;
import cn.freemud.entities.dto.pay.PaymentQueryRequestDto;
import cn.freemud.entities.dto.pay.PaymentQueryResponseDto;
import cn.freemud.entities.dto.shoppingCart.ActivityDiscountsDto; import cn.freemud.entities.dto.shoppingCart.ActivityDiscountsDto;
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto; import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import cn.freemud.entities.vo.*; import cn.freemud.entities.vo.*;
...@@ -339,8 +336,9 @@ public class AppOrderServiceImpl implements AppOrderService { ...@@ -339,8 +336,9 @@ public class AppOrderServiceImpl implements AppOrderService {
closeUnifiedOrderRequest.setVer("2"); closeUnifiedOrderRequest.setVer("2");
closeUnifiedOrderRequest.setPartnerId(orderBean.getCompanyId()); closeUnifiedOrderRequest.setPartnerId(orderBean.getCompanyId());
closeUnifiedOrderRequest.setStoreId(orderBean.getShopId()); closeUnifiedOrderRequest.setStoreId(orderBean.getShopId());
com.freemud.application.sdk.api.base.BaseResponse<PaymentCloseUnifiedOrderResponse> cancelNewUnifiedOrder = payServiceimpl.cancelNewUnifiedOrder(closeUnifiedOrderRequest); com.freemud.application.sdk.api.base.BaseResponse<CloseUnifiedOrderResult> cancelNewUnifiedOrder = payServiceimpl.cancelNewUnifiedOrder(closeUnifiedOrderRequest);
if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), cancelNewUnifiedOrder.getCode())) { if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), cancelNewUnifiedOrder.getCode())
|| ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), cancelNewUnifiedOrder.getData().getResultCode())) {
throw new ServiceException(ResponseResult.ORDER_PRE_PAYMENT_CLOSE_FAILED); throw new ServiceException(ResponseResult.ORDER_PRE_PAYMENT_CLOSE_FAILED);
} }
} }
......
...@@ -7,10 +7,7 @@ import cn.freemud.constant.ResponseCodeConstant; ...@@ -7,10 +7,7 @@ import cn.freemud.constant.ResponseCodeConstant;
import cn.freemud.entities.UpdateReserveOrderResponseVo; import cn.freemud.entities.UpdateReserveOrderResponseVo;
import cn.freemud.entities.bo.CreateOrderBONew; import cn.freemud.entities.bo.CreateOrderBONew;
import cn.freemud.entities.dto.*; import cn.freemud.entities.dto.*;
import cn.freemud.entities.dto.pay.PaymentCloseUnifiedOrderRequest; import cn.freemud.entities.dto.pay.*;
import cn.freemud.entities.dto.pay.PaymentCloseUnifiedOrderResponse;
import cn.freemud.entities.dto.pay.PaymentQueryRequestDto;
import cn.freemud.entities.dto.pay.PaymentQueryResponseDto;
import cn.freemud.entities.dto.pay.svc.SVCCardAmountRequestDto; import cn.freemud.entities.dto.pay.svc.SVCCardAmountRequestDto;
import cn.freemud.entities.dto.pay.svc.SVCCardAmountResponseDto; import cn.freemud.entities.dto.pay.svc.SVCCardAmountResponseDto;
import cn.freemud.entities.dto.promotion.CouponPromotionDto; import cn.freemud.entities.dto.promotion.CouponPromotionDto;
...@@ -587,9 +584,10 @@ public class EncircleOrderServiceImpl implements EncircleOrderService { ...@@ -587,9 +584,10 @@ public class EncircleOrderServiceImpl implements EncircleOrderService {
closeUnifiedOrderRequest.setVer("2"); closeUnifiedOrderRequest.setVer("2");
closeUnifiedOrderRequest.setPartnerId(assortmentCustomerInfoVo.getPartnerId()); closeUnifiedOrderRequest.setPartnerId(assortmentCustomerInfoVo.getPartnerId());
closeUnifiedOrderRequest.setStoreId(assortmentCustomerInfoVo.getStoreId()); closeUnifiedOrderRequest.setStoreId(assortmentCustomerInfoVo.getStoreId());
com.freemud.application.sdk.api.base.BaseResponse<PaymentCloseUnifiedOrderResponse> cancelNewUnifiedOrder = payService.cancelNewUnifiedOrder(closeUnifiedOrderRequest); com.freemud.application.sdk.api.base.BaseResponse<CloseUnifiedOrderResult> cancelNewUnifiedOrder = payService.cancelNewUnifiedOrder(closeUnifiedOrderRequest);
if(ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(),cancelNewUnifiedOrder.getCode())){ if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), cancelNewUnifiedOrder.getCode())
return ResponseUtil.error(ResponseResult.ENCIRCLEORDER_PRE_PAYMENT_CLOSE_FAILED); || ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), cancelNewUnifiedOrder.getData().getResultCode())) {
throw new ServiceException(ResponseResult.ORDER_PRE_PAYMENT_CLOSE_FAILED);
} }
} }
} }
......
...@@ -848,7 +848,7 @@ public class PayServiceImpl { ...@@ -848,7 +848,7 @@ public class PayServiceImpl {
/** /**
* 关闭预支付订单 * 关闭预支付订单
*/ */
public com.freemud.application.sdk.api.base.BaseResponse<PaymentCloseUnifiedOrderResponse> cancelNewUnifiedOrder( PaymentCloseUnifiedOrderRequest request){ public com.freemud.application.sdk.api.base.BaseResponse<CloseUnifiedOrderResult> cancelNewUnifiedOrder( PaymentCloseUnifiedOrderRequest request){
return paymentNewClient.cancelNewUnifiedOrder(request); return paymentNewClient.cancelNewUnifiedOrder(request);
} }
...@@ -944,8 +944,9 @@ public class PayServiceImpl { ...@@ -944,8 +944,9 @@ public class PayServiceImpl {
closeUnifiedOrderRequest.setVer("2"); closeUnifiedOrderRequest.setVer("2");
closeUnifiedOrderRequest.setPartnerId(orderBean.getCompanyId()); closeUnifiedOrderRequest.setPartnerId(orderBean.getCompanyId());
closeUnifiedOrderRequest.setStoreId(orderBean.getShopId()); closeUnifiedOrderRequest.setStoreId(orderBean.getShopId());
com.freemud.application.sdk.api.base.BaseResponse<PaymentCloseUnifiedOrderResponse> cancelNewUnifiedOrder = this.cancelNewUnifiedOrder(closeUnifiedOrderRequest); com.freemud.application.sdk.api.base.BaseResponse<CloseUnifiedOrderResult> cancelNewUnifiedOrder = this.cancelNewUnifiedOrder(closeUnifiedOrderRequest);
if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), cancelNewUnifiedOrder.getCode())) { if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), cancelNewUnifiedOrder.getCode())
|| ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), cancelNewUnifiedOrder.getData().getResultCode())) {
throw new ServiceException(ResponseResult.ORDER_PRE_PAYMENT_CLOSE_FAILED); throw new ServiceException(ResponseResult.ORDER_PRE_PAYMENT_CLOSE_FAILED);
} }
} }
...@@ -983,8 +984,9 @@ public class PayServiceImpl { ...@@ -983,8 +984,9 @@ public class PayServiceImpl {
closeUnifiedOrderRequest.setVer("2"); closeUnifiedOrderRequest.setVer("2");
closeUnifiedOrderRequest.setPartnerId(orderBean.getCompanyId()); closeUnifiedOrderRequest.setPartnerId(orderBean.getCompanyId());
closeUnifiedOrderRequest.setStoreId(orderBean.getShopId()); closeUnifiedOrderRequest.setStoreId(orderBean.getShopId());
com.freemud.application.sdk.api.base.BaseResponse<PaymentCloseUnifiedOrderResponse> cancelNewUnifiedOrder = this.cancelNewUnifiedOrder(closeUnifiedOrderRequest); com.freemud.application.sdk.api.base.BaseResponse<CloseUnifiedOrderResult> cancelNewUnifiedOrder = this.cancelNewUnifiedOrder(closeUnifiedOrderRequest);
if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), cancelNewUnifiedOrder.getCode())) { if (ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), cancelNewUnifiedOrder.getCode())
|| ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), cancelNewUnifiedOrder.getData().getResultCode())) {
throw new ServiceException(ResponseResult.ORDER_PRE_PAYMENT_CLOSE_FAILED); throw new ServiceException(ResponseResult.ORDER_PRE_PAYMENT_CLOSE_FAILED);
} }
} }
......
...@@ -68,7 +68,7 @@ public interface PaymentNewClient { ...@@ -68,7 +68,7 @@ public interface PaymentNewClient {
*/ */
@LogIgnoreFeign(logMessage="payClose") @LogIgnoreFeign(logMessage="payClose")
@PostMapping("paymentcenter/close") @PostMapping("paymentcenter/close")
com.freemud.application.sdk.api.base.BaseResponse<PaymentCloseUnifiedOrderResponse> cancelNewUnifiedOrder(@RequestBody PaymentCloseUnifiedOrderRequest request); com.freemud.application.sdk.api.base.BaseResponse<CloseUnifiedOrderResult> cancelNewUnifiedOrder(@RequestBody PaymentCloseUnifiedOrderRequest request);
/** /**
* 支付查询 * 支付查询
......
...@@ -25,7 +25,6 @@ public interface SvcAppClient { ...@@ -25,7 +25,6 @@ public interface SvcAppClient {
//批量查询卡配置规则 //批量查询卡配置规则
@PostMapping(value = "/svc/cardapply/multi-info") @PostMapping(value = "/svc/cardapply/multi-info")
@LogIgnoreFeign(logMessage = "/svc/cardapply/multi-info")
BaseResponse<List<CardApplyRes>> multiInfo(@RequestBody List<BatchSvcInfoRequest> requestList); BaseResponse<List<CardApplyRes>> multiInfo(@RequestBody List<BatchSvcInfoRequest> requestList);
} }
...@@ -5,19 +5,23 @@ import cn.freemud.management.entities.dto.request.console.ConsoleResponseDTO; ...@@ -5,19 +5,23 @@ import cn.freemud.management.entities.dto.request.console.ConsoleResponseDTO;
import cn.freemud.management.entities.dto.request.console.StoreInfoDTO; import cn.freemud.management.entities.dto.request.console.StoreInfoDTO;
import com.freemud.application.sdk.api.deliverycenter.dto.CreateDeliveryOrderRequestDto; import com.freemud.application.sdk.api.deliverycenter.dto.CreateDeliveryOrderRequestDto;
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1; import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
import com.freemud.application.sdk.api.ordercenter.entities.v1.ProductBeanV1;
import com.freemud.application.sdk.api.ordercenter.enums.OrderType; import com.freemud.application.sdk.api.ordercenter.enums.OrderType;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.math.NumberUtils; import org.apache.commons.lang.math.NumberUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.*;
import java.util.LinkedList;
import java.util.Objects;
import java.util.Optional;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Component @Component
public class DeliverySdkAdapter { public class DeliverySdkAdapter {
@Value("${calculate.depatch.weight.partnerId:}")
private List<String> calculateWeightPartnerId;
/** /**
* 创建配送单请求对象 * 创建配送单请求对象
* *
...@@ -28,9 +32,8 @@ public class DeliverySdkAdapter { ...@@ -28,9 +32,8 @@ public class DeliverySdkAdapter {
*/ */
public CreateDeliveryOrderRequestDto buildDeliveryOrderRequestDto(OrderBeanV1 order public CreateDeliveryOrderRequestDto buildDeliveryOrderRequestDto(OrderBeanV1 order
, ConsoleResponseDTO<BizDTO> bizDTO, String deliveryCallBackUrl) { , ConsoleResponseDTO<BizDTO> bizDTO, String deliveryCallBackUrl) {
StoreInfoDTO storeInfo = bizDTO.getBizVO().getStoreInfo();
CreateDeliveryOrderRequestDto deliveryOrderRequestDto = new CreateDeliveryOrderRequestDto(); CreateDeliveryOrderRequestDto deliveryOrderRequestDto = new CreateDeliveryOrderRequestDto();
deliveryOrderRequestDto.setDepatchWeight(new BigDecimal(1)); deliveryOrderRequestDto.setDepatchWeight(this.getDepatchWeightByOrder(order.getProductList(), order.getCompanyId()));
deliveryOrderRequestDto.setSerialNumber(order.getOtherCode()); deliveryOrderRequestDto.setSerialNumber(order.getOtherCode());
deliveryOrderRequestDto.setOrderId(order.getOid()); deliveryOrderRequestDto.setOrderId(order.getOid());
deliveryOrderRequestDto.setOrderRemark(order.getRemark()); deliveryOrderRequestDto.setOrderRemark(order.getRemark());
...@@ -38,6 +41,7 @@ public class DeliverySdkAdapter { ...@@ -38,6 +41,7 @@ public class DeliverySdkAdapter {
deliveryOrderRequestDto.setOrderActualAmount(order.getAmount().intValue()); deliveryOrderRequestDto.setOrderActualAmount(order.getAmount().intValue());
deliveryOrderRequestDto.setPartnerId(order.getCompanyId()); deliveryOrderRequestDto.setPartnerId(order.getCompanyId());
deliveryOrderRequestDto.setOrderChannel(order.getSource()); deliveryOrderRequestDto.setOrderChannel(order.getSource());
StoreInfoDTO storeInfo = bizDTO.getBizVO().getStoreInfo();
deliveryOrderRequestDto.setStoreId(storeInfo.getStoreId()); deliveryOrderRequestDto.setStoreId(storeInfo.getStoreId());
deliveryOrderRequestDto.setStoreCode(storeInfo.getStoreCode()); deliveryOrderRequestDto.setStoreCode(storeInfo.getStoreCode());
StringBuffer address = new StringBuffer(storeInfo.getCity()) StringBuffer address = new StringBuffer(storeInfo.getCity())
...@@ -78,4 +82,46 @@ public class DeliverySdkAdapter { ...@@ -78,4 +82,46 @@ public class DeliverySdkAdapter {
}).collect(Collectors.toCollection(LinkedList::new)))); }).collect(Collectors.toCollection(LinkedList::new))));
return deliveryOrderRequestDto; return deliveryOrderRequestDto;
} }
private BigDecimal getDepatchWeightByOrder(List<ProductBeanV1> productList, String partnerId) {
if (CollectionUtils.isEmpty(calculateWeightPartnerId) || !calculateWeightPartnerId.contains(partnerId)) {
// 原始逻辑,都是默认传递 1kg给到配送
return new BigDecimal("1");
}
if (CollectionUtils.isEmpty(productList)) {
return new BigDecimal("0.5");
}
BigDecimal result = BigDecimal.ZERO;
for (ProductBeanV1 p : productList) {
// if (p.getIsSendGoods()) {
// continue;
// }
BigDecimal sum = p.getWeight().multiply(new BigDecimal(p.getNumber()));
BigDecimal comboSum = this.sumWeightByProduct(p.getComboProduct());
BigDecimal materSum = this.sumWeightByProduct(p.getMaterialProduct());
// BigDecimal sendSum = this.sumWeightByProduct(p.getSendProduct());
// result = result.add(sum).add(comboSum).add(materSum).add(sendSum);
result = result.add(sum).add(comboSum).add(materSum);
}
if (result.compareTo(BigDecimal.ZERO) <= 0) {
return new BigDecimal("0.5");
}
// 这里 计算的结果是 g 需要变成 kg 给接口 保留3位小数 后面多余直接舍弃
return result.divide(new BigDecimal("1000"), 3, BigDecimal.ROUND_DOWN);
}
private BigDecimal sumWeightByProduct(List<ProductBeanV1> productBeanV) {
BigDecimal result = BigDecimal.ZERO;
if (CollectionUtils.isEmpty(productBeanV)) {
return result;
}
for (ProductBeanV1 p : productBeanV) {
BigDecimal weight = p.getWeight();
int number = p.getNumber();
BigDecimal multiply = weight.multiply(new BigDecimal(number));
result = result.add(multiply);
}
return result;
}
} }
...@@ -21,6 +21,7 @@ import com.freemud.application.sdk.api.deliverycenter.service.DeliveryService; ...@@ -21,6 +21,7 @@ import com.freemud.application.sdk.api.deliverycenter.service.DeliveryService;
import com.freemud.application.sdk.api.log.ApiLog; import com.freemud.application.sdk.api.log.ApiLog;
import com.freemud.application.sdk.api.log.LogThreadLocal; import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1; import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
import com.freemud.application.sdk.api.ordercenter.util.LogUtil;
import com.freemud.application.sdk.api.service.EmailAlertService; import com.freemud.application.sdk.api.service.EmailAlertService;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ObjectUtils; import org.apache.commons.lang.ObjectUtils;
...@@ -70,7 +71,8 @@ public class DeliveryHandle { ...@@ -70,7 +71,8 @@ public class DeliveryHandle {
private DeliveryMCCafeClient deliveryMCCafeClient; private DeliveryMCCafeClient deliveryMCCafeClient;
@Autowired @Autowired
private EmailAlertService emailAlertService; private EmailAlertService emailAlertService;
@Autowired
private LogUtil logUtil;
/** /**
* 创建配送单 * 创建配送单
......
...@@ -366,6 +366,11 @@ public class PaymentHandle { ...@@ -366,6 +366,11 @@ public class PaymentHandle {
return null; return null;
} }
logUtil.info("paymentcenter/refund", JSONObject.toJSONString(request),JSONObject.toJSONString(refundNewResponse)); logUtil.info("paymentcenter/refund", JSONObject.toJSONString(request),JSONObject.toJSONString(refundNewResponse));
//支付状态码取内部值
if(Objects.equals(refundNewResponse.getCode(), "100") && refundNewResponse.getData() != null){
refundNewResponse.setCode(refundNewResponse.getData().getResultCode().toString());
refundNewResponse.setMessage(refundNewResponse.getData().getResultMsg());
}
if (Objects.equals(refundNewResponse.getCode(), "100")) { if (Objects.equals(refundNewResponse.getCode(), "100")) {
PayRefundData refundData = refundNewResponse.getData(); PayRefundData refundData = refundNewResponse.getData();
if (null != refundData) { if (null != refundData) {
......
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