Commit b3d5d5a7 by 王世昌

批量退款bug修复

parent a5c7fa77
...@@ -41,6 +41,7 @@ import cn.freemud.enums.QueryOrderStatus; ...@@ -41,6 +41,7 @@ import cn.freemud.enums.QueryOrderStatus;
import cn.freemud.enums.RefundStatus; import cn.freemud.enums.RefundStatus;
import cn.freemud.enums.ResponseResult; import cn.freemud.enums.ResponseResult;
import cn.freemud.interceptor.ServiceException; import cn.freemud.interceptor.ServiceException;
import cn.freemud.management.entities.dto.request.BatchOrderRefundV2Request;
import cn.freemud.redis.RedisCache; import cn.freemud.redis.RedisCache;
import cn.freemud.request.wechat.dto.SignMessageBuilder; import cn.freemud.request.wechat.dto.SignMessageBuilder;
import cn.freemud.service.impl.OrderCommonService; import cn.freemud.service.impl.OrderCommonService;
...@@ -48,7 +49,6 @@ import cn.freemud.utils.*; ...@@ -48,7 +49,6 @@ import cn.freemud.utils.*;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformPartnerConfig; import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformPartnerConfig;
import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformPartnerWxappConfig; import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformPartnerWxappConfig;
import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo; import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo;
...@@ -62,7 +62,6 @@ import com.freemud.application.sdk.api.ordercenter.request.AfterOrderExtInfoDto; ...@@ -62,7 +62,6 @@ import com.freemud.application.sdk.api.ordercenter.request.AfterOrderExtInfoDto;
import com.freemud.application.sdk.api.ordercenter.request.OrderConditionsReq; import com.freemud.application.sdk.api.ordercenter.request.OrderConditionsReq;
import com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto; import com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto;
import com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq; import com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq;
import com.freemud.application.sdk.api.ordercenter.request.create.OrderPayItemCreateReq;
import com.freemud.application.sdk.api.ordercenter.response.BaseDownLoadResponse; import com.freemud.application.sdk.api.ordercenter.response.BaseDownLoadResponse;
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.promotioncenter.dto.promotion.GoodsStockDTO; import com.freemud.application.sdk.api.promotioncenter.dto.promotion.GoodsStockDTO;
...@@ -91,10 +90,8 @@ import org.apache.commons.lang.time.FastDateFormat; ...@@ -91,10 +90,8 @@ import org.apache.commons.lang.time.FastDateFormat;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import tk.mybatis.mapper.util.StringUtil;
import java.awt.geom.Point2D; import java.awt.geom.Point2D;
import java.io.*;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.security.NoSuchAlgorithmException; import java.security.NoSuchAlgorithmException;
import java.security.spec.InvalidKeySpecException; import java.security.spec.InvalidKeySpecException;
...@@ -4186,7 +4183,7 @@ public class OrderAdapter { ...@@ -4186,7 +4183,7 @@ public class OrderAdapter {
return payTurnoffRefund; return payTurnoffRefund;
} }
public BatchOrderRefundV2Request getBatchOrderRefundV2Request(List<QueryOrdersResponseDto.DataBean.OrderBean> orderBeans,String partnerId,String storeId) { public BatchOrderRefundV2Request getBatchOrderRefundV2Request(List<QueryOrdersResponseDto.DataBean.OrderBean> orderBeans, String partnerId, String storeId) {
BatchOrderRefundV2Request orderPayRefundRequest = new BatchOrderRefundV2Request(); BatchOrderRefundV2Request orderPayRefundRequest = new BatchOrderRefundV2Request();
// 请自行过滤金额为0的订单 // 请自行过滤金额为0的订单
List<BatchOrderRefundV2Request.BatchOrderRefundItem> items = orderBeans.stream().map(orderBean ->{ List<BatchOrderRefundV2Request.BatchOrderRefundItem> items = orderBeans.stream().map(orderBean ->{
......
...@@ -56,6 +56,7 @@ import cn.freemud.enums.RefundStatus; ...@@ -56,6 +56,7 @@ import cn.freemud.enums.RefundStatus;
import cn.freemud.enums.ResponseResult; import cn.freemud.enums.ResponseResult;
import cn.freemud.enums.OrderType; import cn.freemud.enums.OrderType;
import cn.freemud.interceptor.ServiceException; import cn.freemud.interceptor.ServiceException;
import cn.freemud.management.entities.dto.request.BatchOrderRefundV2Request;
import cn.freemud.management.entities.dto.response.pay.PayBatchRefundResponse; import cn.freemud.management.entities.dto.response.pay.PayBatchRefundResponse;
import cn.freemud.management.thirdparty.MulitiPaymentClient; import cn.freemud.management.thirdparty.MulitiPaymentClient;
import cn.freemud.manager.SpellGroupOrderDataManager; import cn.freemud.manager.SpellGroupOrderDataManager;
...@@ -4196,7 +4197,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -4196,7 +4197,7 @@ public class OrderServiceImpl implements Orderservice {
SpellGroupBatchOrderRefundVo orderRefundVo = new SpellGroupBatchOrderRefundVo(); SpellGroupBatchOrderRefundVo orderRefundVo = new SpellGroupBatchOrderRefundVo();
orderRefundVo.setPartnerId(orderBeanList.get(0).getCompanyId()); orderRefundVo.setPartnerId(orderBeanList.get(0).getCompanyId());
orderRefundVo.setPartnerId(orderBeanList.get(0).getShopId()); orderRefundVo.setStoreId(orderBeanList.get(0).getShopId());
orderRefundVo.setReason(Optional.ofNullable(RefundReasonEnum.getSpellGroupReasonByIndex(refundVo.getReason())).orElse(RefundReasonEnum.Other).getDesc()); orderRefundVo.setReason(Optional.ofNullable(RefundReasonEnum.getSpellGroupReasonByIndex(refundVo.getReason())).orElse(RefundReasonEnum.Other).getDesc());
// 拼团失败取消 默认为只退款不退货 // 拼团失败取消 默认为只退款不退货
orderRefundVo.setRefundMode(RefundModeEnum.UN_REFUND_GOODS.getIndex()); orderRefundVo.setRefundMode(RefundModeEnum.UN_REFUND_GOODS.getIndex());
...@@ -4298,12 +4299,13 @@ public class OrderServiceImpl implements Orderservice { ...@@ -4298,12 +4299,13 @@ public class OrderServiceImpl implements Orderservice {
// 1.1 组装批量退款参数 // 1.1 组装批量退款参数
BatchOrderRefundV2Request batchOrderRefundV2Request = orderAdapter.getBatchOrderRefundV2Request(payRefundOrderCodes, partnerId, storeId); BatchOrderRefundV2Request batchOrderRefundV2Request = orderAdapter.getBatchOrderRefundV2Request(payRefundOrderCodes, partnerId, storeId);
// 1.2 调用支付服务退款 // 1.2 调用支付服务退款
response = paymentNewClient.batchRefund(batchOrderRefundV2Request); response = mulitiPaymentClient.batchRefund(batchOrderRefundV2Request);
} catch (Exception e) { } catch (Exception e) {
log.error("拼团批量退款失败!!", e); log.error("拼团批量退款失败!!", e);
} }
PayBatchRefundResponse.BatchRefundBatchIdData batchIdData; PayBatchRefundResponse.BatchRefundBatchIdData batchIdData;
if (Objects.isNull(response) || !Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS, response.getCode()) // 注意响应值是200
if (Objects.isNull(response) || !Objects.equals(ResponseCodeConstant.PAYMENT_RESPONSE_SUCCESS, response.getCode())
|| Objects.isNull(batchIdData = response.getData()) || Objects.isNull(batchIdData.getBatchId())) { || Objects.isNull(batchIdData = response.getData()) || Objects.isNull(batchIdData.getBatchId())) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "批量退款失败"); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "批量退款失败");
} }
......
...@@ -2,8 +2,6 @@ package cn.freemud.service.thirdparty; ...@@ -2,8 +2,6 @@ package cn.freemud.service.thirdparty;
import cn.freemud.entities.dto.order.FacePayRequestDto; import cn.freemud.entities.dto.order.FacePayRequestDto;
import cn.freemud.entities.dto.order.FacePayResponseDto; import cn.freemud.entities.dto.order.FacePayResponseDto;
import cn.freemud.management.entities.dto.response.pay.PayBatchRefundResponse;
import com.freemud.sdk.api.assortment.order.request.order.BatchOrderRefundV2Request;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
...@@ -31,10 +29,4 @@ public interface PaymentNewClient { ...@@ -31,10 +29,4 @@ public interface PaymentNewClient {
@PostMapping("paymentcenter/facePay") @PostMapping("paymentcenter/facePay")
com.freemud.application.sdk.api.base.BaseResponse<FacePayResponseDto> facePay(@RequestBody FacePayRequestDto orderPayDto); com.freemud.application.sdk.api.base.BaseResponse<FacePayResponseDto> facePay(@RequestBody FacePayRequestDto orderPayDto);
/**
* 批量支付退款
*/
@PostMapping("/payment/application/batch/refund")
PayBatchRefundResponse batchRefund(BatchOrderRefundV2Request batchOrderRefundV2Request);
} }
package com.freemud.sdk.api.assortment.order.request.order; package cn.freemud.management.entities.dto.request;
import lombok.Data; import lombok.Data;
import lombok.ToString; import lombok.ToString;
......
...@@ -9,7 +9,7 @@ import lombok.Data; ...@@ -9,7 +9,7 @@ import lombok.Data;
@Data @Data
public class PayBatchRefundResponse { public class PayBatchRefundResponse {
private int code; private Integer code;
private BatchRefundBatchIdData data; private BatchRefundBatchIdData data;
......
...@@ -13,6 +13,8 @@ ...@@ -13,6 +13,8 @@
package cn.freemud.management.thirdparty; package cn.freemud.management.thirdparty;
import cn.freemud.management.entities.dto.request.BatchOrderRefundV2Request;
import cn.freemud.management.entities.dto.response.pay.PayBatchRefundResponse;
import com.freemud.sdk.api.assortment.order.request.order.MultiOrderRefundRequest; import com.freemud.sdk.api.assortment.order.request.order.MultiOrderRefundRequest;
import com.freemud.sdk.api.assortment.order.response.order.MultiOrderRefundResponse; import com.freemud.sdk.api.assortment.order.response.order.MultiOrderRefundResponse;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
...@@ -30,4 +32,9 @@ public interface MulitiPaymentClient { ...@@ -30,4 +32,9 @@ public interface MulitiPaymentClient {
@PostMapping("/payment/application/refund") @PostMapping("/payment/application/refund")
MultiOrderRefundResponse paymentApplicationRefund(MultiOrderRefundRequest multiOrderRefundRequest, @RequestHeader("partnerId") String partnerId); MultiOrderRefundResponse paymentApplicationRefund(MultiOrderRefundRequest multiOrderRefundRequest, @RequestHeader("partnerId") String partnerId);
/**
* 批量支付退款
*/
@PostMapping("/payment/application/batch/refund")
PayBatchRefundResponse batchRefund(BatchOrderRefundV2Request batchOrderRefundV2Request);
} }
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