diff --git a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/JumpController.java b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/JumpController.java index 9be1963ed..36cf1c7aa 100644 --- a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/JumpController.java +++ b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/JumpController.java @@ -145,4 +145,27 @@ public class JumpController extends BaseController { return response; } + /** + * 批量退款接口 + * http://localhost:8080/app-xcx-h5/batchRefund + * @param dto + * @return + */ + @PostMapping("/batchRefund") + public RestApiResponse batchRefund(@RequestBody QueryOrderDTO dto) { + RestApiResponse response = null; + try { + orderBasicInfoService.batchRefund(dto); + response = new RestApiResponse<>(); + } catch (BusinessException e) { + logger.warn("临时订单退款接口 warn", e); + response = new RestApiResponse<>(e.getCode(), e.getMessage()); + } catch (Exception e) { + logger.error("临时订单退款接口 error", e); + response = new RestApiResponse<>(ReturnCodeEnum.CODE_WEIXIN_REFUND_ERROR); + } + logger.info("临时刷数据接口 result:{}", JSONObject.toJSONString(response)); + return response; + } + } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryOrderDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryOrderDTO.java index c05a17bc7..9b8ab1ad9 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryOrderDTO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryOrderDTO.java @@ -6,6 +6,8 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import java.util.List; + @Data @NoArgsConstructor @AllArgsConstructor @@ -67,4 +69,6 @@ public class QueryOrderDTO extends BaseEntity { // private int pageSize; // // private int pageNum; + + private List orderCodeList; } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderBasicInfoMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderBasicInfoMapper.java index 92a63dcb8..3fc755fdf 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderBasicInfoMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderBasicInfoMapper.java @@ -10,6 +10,7 @@ import com.jsowell.pile.vo.uniapp.PersonPileConnectorSumInfoVO; import com.jsowell.pile.vo.uniapp.SendMessageVO; import com.jsowell.pile.vo.web.IndexOrderInfoVO; import com.jsowell.pile.vo.web.OrderListVO; +import com.jsowell.pile.vo.web.RefundOrder; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @@ -215,4 +216,6 @@ public interface OrderBasicInfoMapper { * @return */ List getMerchantOrderInfoList(@Param("dto") QueryMerchantOrderDTO dto); + + List batchRefundQuery(List orderCodeList); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java index e1ea06571..b28d6bda8 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/IOrderBasicInfoService.java @@ -289,4 +289,6 @@ public interface IOrderBasicInfoService { void analysisPileParameter(BasicPileDTO dto); Map payOrder(PayOrderDTO dto) throws Exception; + + void batchRefund(QueryOrderDTO dto); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index 99ec6b2ad..38bf1bb15 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -2174,6 +2174,27 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { return resultMap; } + @Override + public void batchRefund(QueryOrderDTO dto) { + if (CollectionUtils.isEmpty(dto.getOrderCodeList())) { + return; + } + List list = orderBasicInfoMapper.batchRefundQuery(dto.getOrderCodeList()); + if (CollectionUtils.isEmpty(list)) { + return; + } + WeChatRefundDTO weChatRefundDTO = null; + for (RefundOrder refundOrder : list) { + if (StringUtils.isBlank(refundOrder.getRefundAmount())) { + continue; + } + weChatRefundDTO = new WeChatRefundDTO(); + weChatRefundDTO.setOrderCode(refundOrder.getOrderCode()); + weChatRefundDTO.setRefundAmount(new BigDecimal(refundOrder.getRefundAmount())); + this.refundForOrderWithAdapay(weChatRefundDTO); + } + } + /** * 白名单支付订单逻辑 * diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/RefundOrder.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/RefundOrder.java new file mode 100644 index 000000000..bebac02c0 --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/RefundOrder.java @@ -0,0 +1,19 @@ +package com.jsowell.pile.vo.web; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class RefundOrder { + private String orderCode; + private String orderStatus; + private String stationId; + private String orderAmount; + private String payAmount; + private String refundAmount; +} diff --git a/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml index e270c0700..583a04c82 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml @@ -1087,4 +1087,23 @@ order by t1.create_time desc + + \ No newline at end of file