Commit f1844b82 by hanghang.wang

Merge branch 'feature/20210727-商户余额不足调整日志邮件-wanghanghang'

parents 2332e1be 3006fbcc
......@@ -179,6 +179,7 @@ public enum ResponseResult {
PAY_BACKEND_CONFIG_ERROR("58003", "支付交易异常"),
REFUND_EXCEPTION("58004", "支付退款异常"),
REFUND_FAIL("58005", "支付退款失败"),
NOT_SUFFICIENT_FUNDS("8200201", "商户余额不足"),
/**
* 优惠券活动
*/
......
......@@ -32,9 +32,7 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.concurrent.TimeUnit;
/**
......@@ -53,6 +51,7 @@ import java.util.concurrent.TimeUnit;
public class PaymentHandle {
private static final String SUCCESS="100";
@Value("${mccafe.partner.id}")
private String macCafePartnerId;
......@@ -89,6 +88,10 @@ public class PaymentHandle {
throw new OrderServiceException(ResponseResult.REFUND_EXCEPTION);
}
if (ObjectUtils.notEqual(orderRefundResponse.getCode(),SUCCESS)){
//商户余额不足的情况下,返回异常特殊处理.
if(ResponseResult.NOT_SUFFICIENT_FUNDS.getCode().equals(orderRefundResponse.getCode())){
throw new OrderServiceException(ResponseResult.NOT_SUFFICIENT_FUNDS);
}
throw new OrderServiceException(ResponseResult.REFUND_FAIL,orderRefundResponse.getMessage());
}
refundStatus=ObjectUtils.equals( PayRefundStatus.SUCCESS.getCode(), orderRefundResponse.getData().getRefundStatus())?PayRefundStatus.SUCCESS:PayRefundStatus.RUNNING;
......
......@@ -34,6 +34,9 @@ import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
......@@ -77,6 +80,12 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
private static final int SUCCESS = 100;
/**
* 先定义一个过滤集合,后续其他逻辑再分
* 8200201 商户余额不足
*/
public static final Set<String> PAY_RETURN_FILTER_CODES = Stream.of("8200201").collect(Collectors.toSet());
/**
* 接单
*
* @param request 请求参数
......@@ -267,6 +276,9 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
baseResponse = this.orderReject(request, orderBean);
}
if(null == baseResponse || !ObjectUtils.equals(SUCCESS,Integer.valueOf(baseResponse.getCode()))){
if (PAY_RETURN_FILTER_CODES.contains(baseResponse.getCode())) {
return ResponseUtil.error(ResponseResult.getResponseResult(baseResponse.getCode()));
}
emailAlertService.sendEmailAlert("商家取消订单失败", "请求json:" + JSONObject.toJSONString(orderBean) + "返回msg:" + baseResponse.getMessage());
return ResponseUtil.error(ResponseResult.PARTNER_ORDER_CANCEL_ERROR);
}
......
......@@ -2470,19 +2470,10 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
}
private CustomerInfoVo getCustomerInfoVo(String sessionId) {
// GetSessionUserInfoDto getSessionUserInfoDto = new GetSessionUserInfoDto();
// getSessionUserInfoDto.setIsGetPaid(true);
// getSessionUserInfoDto.setSessionId(sessionId);
// BaseResponse<CustomerInfoVo> sessionUserInfo = customerApplicationClient.getSessionUserInfo(getSessionUserInfoDto);
// if (!ResponseResult.SUCCESS.getCode().equals(sessionUserInfo.getCode()) || sessionUserInfo.getResult() == null) {
// throw new ServiceException(ResponseResult.NOT_LOGIN);
// }
// return sessionUserInfo.getResult();
AssortmentCustomerInfoVo customerInfoVo = customerInfoManager.getCustomerInfoByObject(sessionId);
if (customerInfoVo == null) throw new ServiceException(ResponseResult.NOT_LOGIN);
String jsonObject = JSON.toJSONString(customerInfoVo);
CustomerInfoVo customerInfoVo1 = JSON.parseObject(jsonObject,CustomerInfoVo.class);
// BeanUtil.convertBean(customerInfoVo,customerInfoVo1);
return customerInfoVo1;
}
......@@ -2500,6 +2491,7 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
} else {
qty = cartGoods.getQty();
for (CartGoods goods : allCartGoodsList) {
//todo 商品券校验数量,在此处无效 暂时不动...
if (goods.getSkuId().equals(cartGoods.getSkuId()) && goods.getSpuId().equals(cartGoods.getSpuId())) {
qty += goods.getQty();
}
......
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