Commit dd965948 by 周晓航

修改成批量操作

parent 7ad343d8
...@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty; ...@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import java.util.List;
/** /**
* @author : xh.Z * @author : xh.Z
...@@ -18,7 +19,7 @@ public class OrderDevelopRefundVo { ...@@ -18,7 +19,7 @@ public class OrderDevelopRefundVo {
* 订单号 * 订单号
*/ */
@NotBlank(message = "订单编号不能为空") @NotBlank(message = "订单编号不能为空")
private String orderCode; private List<String> orderCodes;
private String partnerId; private String partnerId;
......
...@@ -157,7 +157,6 @@ import java.util.stream.Collectors; ...@@ -157,7 +157,6 @@ import java.util.stream.Collectors;
import static cn.freemud.constant.OrderRefundConstant.ALLOW_REFUND; import static cn.freemud.constant.OrderRefundConstant.ALLOW_REFUND;
@Service @Service
public class OrderServiceImpl implements Orderservice { public class OrderServiceImpl implements Orderservice {
...@@ -675,7 +674,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -675,7 +674,7 @@ public class OrderServiceImpl implements Orderservice {
return newSendPaySuccessNoticeMessage(); return newSendPaySuccessNoticeMessage();
} }
//无售后单,退款回掉取消订单,冲正库存等 //无售后单,退款回掉取消订单,冲正库存等
if(CollectionUtils.isEmpty(orderBean.getRefundList())){ if (CollectionUtils.isEmpty(orderBean.getRefundList())) {
return cancelOrder(orderBean); return cancelOrder(orderBean);
} }
//订单状态 //订单状态
...@@ -1897,7 +1896,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1897,7 +1896,7 @@ public class OrderServiceImpl implements Orderservice {
// 这里如果发现会员id不一致,就去查询会员合并数据,重新匹配一下 // 这里如果发现会员id不一致,就去查询会员合并数据,重新匹配一下
// 不要在外面查, 大部分情况不会进这个if, 不影响通常逻辑下的tps // 不要在外面查, 大部分情况不会进这个if, 不影响通常逻辑下的tps
List<String> memberIds = memberInfoManager.getMemberAllIds(partnerId, memberId); List<String> memberIds = memberInfoManager.getMemberAllIds(partnerId, memberId);
if (! memberIds.contains(orderByIdResponseDto.getData().getUserId())) if (!memberIds.contains(orderByIdResponseDto.getData().getUserId()))
return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR.getCode(), "不能操作非本人的订单"); return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR.getCode(), "不能操作非本人的订单");
} }
OrderBeanV1 orderBean = orderByIdResponseDto.getData(); OrderBeanV1 orderBean = orderByIdResponseDto.getData();
...@@ -1911,7 +1910,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1911,7 +1910,7 @@ public class OrderServiceImpl implements Orderservice {
} }
// 微商城订单 // 微商城订单
if (Objects.equals(BizTypeEnum.MALL.getBizType() ,orderBean.getBizType()) || Objects.equals("23",orderBean.getOrderClient())) { if (Objects.equals(BizTypeEnum.MALL.getBizType(), orderBean.getBizType()) || Objects.equals("23", orderBean.getOrderClient())) {
// 微商城因为没有退款原因选项 所以将用户退款说明用户作为退款原因 // 微商城因为没有退款原因选项 所以将用户退款说明用户作为退款原因
orderRefundVo.setReason(orderRefundVo.getRemarks()); orderRefundVo.setReason(orderRefundVo.getRemarks());
// 必须选择退款方式 // 必须选择退款方式
...@@ -1929,8 +1928,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1929,8 +1928,7 @@ public class OrderServiceImpl implements Orderservice {
&& (StringUtils.isBlank(orderBean.getSpellGroupCode()) || StringUtils.isBlank(orderBean.getSpellGroupActivityCode()))) { && (StringUtils.isBlank(orderBean.getSpellGroupCode()) || StringUtils.isBlank(orderBean.getSpellGroupActivityCode()))) {
return ResponseUtil.error(ResponseResult.SPELL_GROUP_QUERY_GROUP_WORK_ERROR); return ResponseUtil.error(ResponseResult.SPELL_GROUP_QUERY_GROUP_WORK_ERROR);
} }
} } else if (NewOrderStatus.DELIVERING.getIndex().equals(orderBean.getStatusV2())) {
else if (NewOrderStatus.DELIVERING.getIndex().equals(orderBean.getStatusV2())) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "订单配送中,退款请联系售后!"); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "订单配送中,退款请联系售后!");
} }
...@@ -1958,7 +1956,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1958,7 +1956,7 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "商家正在处理中,请稍后……"); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "商家正在处理中,请稍后……");
} }
//商城订单可二次发起退款 //商城订单可二次发起退款
if (!Objects.equals(BizTypeEnum.MALL.getBizType(),orderBean.getBizType()) && RefundStatus.REFUSE_REFUND.getCode().equals(refundBean.getStatus())) { if (!Objects.equals(BizTypeEnum.MALL.getBizType(), orderBean.getBizType()) && RefundStatus.REFUSE_REFUND.getCode().equals(refundBean.getStatus())) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "您的申请已被商家拒绝,请联系门店沟通。"); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "您的申请已被商家拒绝,请联系门店沟通。");
} }
} }
...@@ -1970,7 +1968,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1970,7 +1968,7 @@ public class OrderServiceImpl implements Orderservice {
boolean isRefundDeliveryFee = true; boolean isRefundDeliveryFee = true;
//商城查询配送费 //商城查询配送费
if (Objects.equals(BizTypeEnum.MALL.getBizType(),orderBean.getBizType()) if (Objects.equals(BizTypeEnum.MALL.getBizType(), orderBean.getBizType())
&& StringUtils.isNotEmpty(orderBean.getExtInfo())) { && StringUtils.isNotEmpty(orderBean.getExtInfo())) {
JSONObject extInfoJsonObject = JSONObject.parseObject(orderBean.getExtInfo()); JSONObject extInfoJsonObject = JSONObject.parseObject(orderBean.getExtInfo());
OrderExtInfoDto orderExtInfoDto = extInfoJsonObject.toJavaObject(OrderExtInfoDto.class); OrderExtInfoDto orderExtInfoDto = extInfoJsonObject.toJavaObject(OrderExtInfoDto.class);
...@@ -2349,7 +2347,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2349,7 +2347,7 @@ public class OrderServiceImpl implements Orderservice {
spuIds.add(productDto.getProductId()); spuIds.add(productDto.getProductId());
} }
Map<String, GetProductsVo> products = itemService.getSpuProducts(spuIds, createOrderDto.getCompanyId(), createOrderDto.getShopId(), createOrderDto.getMenuType()); Map<String, GetProductsVo> products = itemService.getSpuProducts(spuIds, createOrderDto.getCompanyId(), createOrderDto.getShopId(), createOrderDto.getMenuType());
if (products==null) { if (products == null) {
return createOrderDto; return createOrderDto;
} }
if (products.isEmpty()) { if (products.isEmpty()) {
...@@ -3311,6 +3309,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3311,6 +3309,7 @@ public class OrderServiceImpl implements Orderservice {
/** /**
* 支付退款成功,订单未创建售后单 * 支付退款成功,订单未创建售后单
*
* @return * @return
*/ */
private String cancelOrder(OrderBeanV1 orderBean) { private String cancelOrder(OrderBeanV1 orderBean) {
...@@ -3346,7 +3345,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3346,7 +3345,7 @@ public class OrderServiceImpl implements Orderservice {
userLoginInfoDto = new AssortmentCustomerInfoVo(); userLoginInfoDto = new AssortmentCustomerInfoVo();
userLoginInfoDto.setMemberId(orderBean.getUserId()); userLoginInfoDto.setMemberId(orderBean.getUserId());
userLoginInfoDto.setWxAppId(orderBean.getAppId()); userLoginInfoDto.setWxAppId(orderBean.getAppId());
}else { } else {
// 校验用户是否登录 // 校验用户是否登录
BaseResponse<AssortmentCustomerInfoVo> baseResponse = this.checkUserLoginInfoDto(orderRefundVo.getSessionId()); BaseResponse<AssortmentCustomerInfoVo> baseResponse = this.checkUserLoginInfoDto(orderRefundVo.getSessionId());
if (!Objects.equals(baseResponse.getCode(), ResponseResult.SUCCESS.getCode())) { if (!Objects.equals(baseResponse.getCode(), ResponseResult.SUCCESS.getCode())) {
...@@ -3375,7 +3374,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3375,7 +3374,7 @@ public class OrderServiceImpl implements Orderservice {
// 走正常退款订单逻辑 这里是否可以丢MQ 异步操作 // 走正常退款订单逻辑 这里是否可以丢MQ 异步操作
try { try {
this.doCouponOrderRefund(orderBean, orderRefundVo); this.doCouponOrderRefund(orderBean, orderRefundVo);
}catch (Exception e){ } catch (Exception e) {
RefundFailureRequestDTO requestDTO = RefundFailureRequestDTO.builder().orderCode(orderBean.getOid()) RefundFailureRequestDTO requestDTO = RefundFailureRequestDTO.builder().orderCode(orderBean.getOid())
.failureType(RefundFailureRequestDTO.FAILURETYPE_SYSTEM_ERROR) .failureType(RefundFailureRequestDTO.FAILURETYPE_SYSTEM_ERROR)
.reason(JSON.toJSONString(e.getMessage())) .reason(JSON.toJSONString(e.getMessage()))
...@@ -3388,7 +3387,6 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3388,7 +3387,6 @@ public class OrderServiceImpl implements Orderservice {
} }
/** /**
*
* @param orderBean * @param orderBean
* @return * @return
*/ */
...@@ -3417,6 +3415,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3417,6 +3415,7 @@ public class OrderServiceImpl implements Orderservice {
/** /**
* 调用券码作废操作 * 调用券码作废操作
*
* @param orderBean * @param orderBean
* @return * @return
*/ */
...@@ -3438,7 +3437,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3438,7 +3437,7 @@ public class OrderServiceImpl implements Orderservice {
CouponResponseDTO<CheckAndCancelResponseDTO> responseDTO = couponOnlineClient.checkandcancel(request); CouponResponseDTO<CheckAndCancelResponseDTO> responseDTO = couponOnlineClient.checkandcancel(request);
if (responseDTO == null if (responseDTO == null
|| !Objects.equals(responseDTO.getStatusCode(),100)) { || !Objects.equals(responseDTO.getStatusCode(), 100)) {
// 直接接口调用失败, // 直接接口调用失败,
return ResponseUtil.error(ResponseResult.COUPON_CANCEL_FAIL.getCode(), "操作失败,请稍后重试"); return ResponseUtil.error(ResponseResult.COUPON_CANCEL_FAIL.getCode(), "操作失败,请稍后重试");
} }
...@@ -3476,7 +3475,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3476,7 +3475,7 @@ public class OrderServiceImpl implements Orderservice {
QueryRefundFailuresListReq queryRefundFailuresListReq = new QueryRefundFailuresListReq(); QueryRefundFailuresListReq queryRefundFailuresListReq = new QueryRefundFailuresListReq();
queryRefundFailuresListReq.setId(orderRefundRetryVo.getId()); queryRefundFailuresListReq.setId(orderRefundRetryVo.getId());
BaseResponse<List<QueryRefundFailuresListDto>> queryRefundFailuresListDtoBaseResponse = orderServiceClient.refundFailuresList(queryRefundFailuresListReq); BaseResponse<List<QueryRefundFailuresListDto>> queryRefundFailuresListDtoBaseResponse = orderServiceClient.refundFailuresList(queryRefundFailuresListReq);
if(!ResponseConstant.SUCCESS_RESPONSE_CODE_STR.equals(queryRefundFailuresListDtoBaseResponse.getCode()) if (!ResponseConstant.SUCCESS_RESPONSE_CODE_STR.equals(queryRefundFailuresListDtoBaseResponse.getCode())
|| CollectionUtils.isEmpty(queryRefundFailuresListDtoBaseResponse.getResult()) || CollectionUtils.isEmpty(queryRefundFailuresListDtoBaseResponse.getResult())
|| queryRefundFailuresListDtoBaseResponse.getResult().size() != 1) { || queryRefundFailuresListDtoBaseResponse.getResult().size() != 1) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "该记录不存在或查询异常"); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "该记录不存在或查询异常");
...@@ -3486,11 +3485,11 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3486,11 +3485,11 @@ public class OrderServiceImpl implements Orderservice {
// 查询订单 // 查询订单
BaseResponse<OrderBeanV1> orderResponse = this.checkOrderAndGetOrderBean(queryRefundFailuresListDto.getOrderCode()); BaseResponse<OrderBeanV1> orderResponse = this.checkOrderAndGetOrderBean(queryRefundFailuresListDto.getOrderCode());
if (!Objects.equals(orderResponse.getCode(), ResponseResult.SUCCESS.getCode())) { if (!Objects.equals(orderResponse.getCode(), ResponseResult.SUCCESS.getCode())) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "订单数据查询失败:"+orderResponse.getMessage()); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "订单数据查询失败:" + orderResponse.getMessage());
} }
OrderBeanV1 orderBean = orderResponse.getResult(); OrderBeanV1 orderBean = orderResponse.getResult();
AfterSalesOrderResp afterSalesOrderResp = orderBean.getAfterSalesOrderResp(); AfterSalesOrderResp afterSalesOrderResp = orderBean.getAfterSalesOrderResp();
if(afterSalesOrderResp == null) { if (afterSalesOrderResp == null) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "不存在售后单信息"); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "不存在售后单信息");
} }
...@@ -3501,7 +3500,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3501,7 +3500,7 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "处理中,请稍等。"); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "处理中,请稍等。");
} }
if(Integer.valueOf(1).equals(queryRefundFailuresListDto.getLastFailureType()) || Integer.valueOf(2).equals(queryRefundFailuresListDto.getLastFailureType())) { if (Integer.valueOf(1).equals(queryRefundFailuresListDto.getLastFailureType()) || Integer.valueOf(2).equals(queryRefundFailuresListDto.getLastFailureType())) {
Long refundId = System.currentTimeMillis(); Long refundId = System.currentTimeMillis();
if (orderBean.getAmount() != 0) { if (orderBean.getAmount() != 0) {
...@@ -3510,7 +3509,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3510,7 +3509,7 @@ public class OrderServiceImpl implements Orderservice {
MultiOrderRefundRequest multiOrderRefundRequest = orderAdapter.getMultiOrderPayRefundRequest(orderBean, refundId); MultiOrderRefundRequest multiOrderRefundRequest = orderAdapter.getMultiOrderPayRefundRequest(orderBean, refundId);
MultiOrderRefundResponse multiOrderRefundResponse = payServiceImpl.paymentApplicationRefund(multiOrderRefundRequest, orderBean.getCompanyId()); MultiOrderRefundResponse multiOrderRefundResponse = payServiceImpl.paymentApplicationRefund(multiOrderRefundRequest, orderBean.getCompanyId());
if (multiOrderRefundResponse == null || multiOrderRefundResponse.getData() == null || !ResponseCodeConstant.RESPONSE_SUCCESS_200.equals(multiOrderRefundResponse.getCode())) { if (multiOrderRefundResponse == null || multiOrderRefundResponse.getData() == null || !ResponseCodeConstant.RESPONSE_SUCCESS_200.equals(multiOrderRefundResponse.getCode())) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "调用支付退款接口失败:"+JSON.toJSONString(multiOrderRefundResponse)); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "调用支付退款接口失败:" + JSON.toJSONString(multiOrderRefundResponse));
} }
List<MultiOrderRefundResponse.RefundPlatformResponse> refundPlatformResponseList = multiOrderRefundResponse.getData().refundPlatformResponseList; List<MultiOrderRefundResponse.RefundPlatformResponse> refundPlatformResponseList = multiOrderRefundResponse.getData().refundPlatformResponseList;
if (null != refundPlatformResponseList && refundPlatformResponseList.size() > 0) { if (null != refundPlatformResponseList && refundPlatformResponseList.size() > 0) {
...@@ -3523,10 +3522,10 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3523,10 +3522,10 @@ public class OrderServiceImpl implements Orderservice {
orderPayRefundRequest.setRefundDesc("退款失败人工重试"); orderPayRefundRequest.setRefundDesc("退款失败人工重试");
com.freemud.application.sdk.api.base.BaseResponse<OrderRefundResponse> response = payServiceImpl.orderRefund(orderPayRefundRequest); com.freemud.application.sdk.api.base.BaseResponse<OrderRefundResponse> response = payServiceImpl.orderRefund(orderPayRefundRequest);
if (response == null || response.getData() == null || !ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(response.getCode())) { if (response == null || response.getData() == null || !ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(response.getCode())) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "调用支付退款接口失败:"+JSON.toJSONString(response)); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "调用支付退款接口失败:" + JSON.toJSONString(response));
} }
if(!ResponseConstant.SUCCESS_RESPONSE_CODE.equals(response.getData().getStatusCode())) { if (!ResponseConstant.SUCCESS_RESPONSE_CODE.equals(response.getData().getStatusCode())) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "支付退款失败:"+JSON.toJSONString(response)); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "支付退款失败:" + JSON.toJSONString(response));
} }
} }
} }
...@@ -3536,7 +3535,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3536,7 +3535,7 @@ public class OrderServiceImpl implements Orderservice {
refundFailuresSuccessfulReq.setOrderCode(orderBean.getOid()); refundFailuresSuccessfulReq.setOrderCode(orderBean.getOid());
refundFailuresSuccessfulReq.setPartnerId(orderBean.getCompanyId()); refundFailuresSuccessfulReq.setPartnerId(orderBean.getCompanyId());
BaseResponse baseResponse = orderServiceClient.refundFailuresSuccessful(refundFailuresSuccessfulReq); BaseResponse baseResponse = orderServiceClient.refundFailuresSuccessful(refundFailuresSuccessfulReq);
if(!ResponseConstant.SUCCESS_RESPONSE_CODE_STR.equals(baseResponse.getCode())) { if (!ResponseConstant.SUCCESS_RESPONSE_CODE_STR.equals(baseResponse.getCode())) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "处理完成但更新记录失败"); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "处理完成但更新记录失败");
} }
...@@ -3554,7 +3553,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3554,7 +3553,7 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "基础服务订单退款完成失败"); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "基础服务订单退款完成失败");
} }
stockHandle.revert(null,orderBean); stockHandle.revert(null, orderBean);
} else { } else {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "暂不支持该操作"); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "暂不支持该操作");
...@@ -3563,7 +3562,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3563,7 +3562,7 @@ public class OrderServiceImpl implements Orderservice {
} catch (Exception e) { } catch (Exception e) {
throw e; throw e;
} finally { } finally {
LockUtils.unlock(redisCache.getRedisTemplate(),lockKey); LockUtils.unlock(redisCache.getRedisTemplate(), lockKey);
} }
return ResponseUtil.success(); return ResponseUtil.success();
...@@ -3571,12 +3570,31 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3571,12 +3570,31 @@ public class OrderServiceImpl implements Orderservice {
@Override @Override
public BaseResponse developRefund(OrderDevelopRefundVo orderRefundVo) { public BaseResponse developRefund(OrderDevelopRefundVo orderRefundVo) {
if (CollectionUtils.isEmpty(orderRefundVo.getOrderCodes())) {
return ResponseUtil.error(ResponseResult.ORDER_QUERYORDER_ERROR.getCode(), "未传递订单号");
}
BaseResponse finalResp = new BaseResponse();
Map<String, String> resultMap = new HashMap<>();
orderRefundVo.getOrderCodes().forEach(orderCode -> {
BaseResponse resp = this.batchDevelopRefund(orderRefundVo, orderCode);
if (Objects.equals(resp.getCode(), ResponseResult.SUCCESS.getCode())) {
resultMap.put(orderCode, "成功");
} else {
resultMap.put(orderCode, resp.getMessage());
}
});
return finalResp;
}
private BaseResponse batchDevelopRefund(OrderDevelopRefundVo orderRefundVo, String orderCode) {
if (StringUtils.isEmpty(orderRefundVo.getReason())) { if (StringUtils.isEmpty(orderRefundVo.getReason())) {
orderRefundVo.setReason("内部操作退款,操作人:" + orderRefundVo.getOperator()); orderRefundVo.setReason("内部操作退款,操作人:" + orderRefundVo.getOperator());
} }
// 查询订单 // 查询订单
BaseQueryOrderRequest baseQueryOrderRequest = new BaseQueryOrderRequest(); BaseQueryOrderRequest baseQueryOrderRequest = new BaseQueryOrderRequest();
baseQueryOrderRequest.setOrderId(orderRefundVo.getOrderCode()); baseQueryOrderRequest.setOrderId(orderCode);
baseQueryOrderRequest.setTrackingNo(LogThreadLocal.getTrackingNo()); baseQueryOrderRequest.setTrackingNo(LogThreadLocal.getTrackingNo());
QueryOrderByIdResponse queryOrderByIdResponse = orderCenterSdkService.queryOrderById(baseQueryOrderRequest); QueryOrderByIdResponse queryOrderByIdResponse = orderCenterSdkService.queryOrderById(baseQueryOrderRequest);
String string = JSONObject.toJSONString(queryOrderByIdResponse); String string = JSONObject.toJSONString(queryOrderByIdResponse);
...@@ -3594,7 +3612,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3594,7 +3612,7 @@ public class OrderServiceImpl implements Orderservice {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "订单已取消,无法退款"); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "订单已取消,无法退款");
} }
// 微商城订单 // 微商城订单
if (Objects.equals(BizTypeEnum.MALL.getBizType() ,orderBean.getBizType()) || Objects.equals("23",orderBean.getOrderClient())) { if (Objects.equals(BizTypeEnum.MALL.getBizType(), orderBean.getBizType()) || Objects.equals("23", orderBean.getOrderClient())) {
// 完成/配送中 可以选择退货退款 // 完成/配送中 可以选择退货退款
List<Integer> refundGoodsCodes = Arrays.asList( List<Integer> refundGoodsCodes = Arrays.asList(
NewOrderStatus.DELIVERING.getIndex(), NewOrderStatus.COMPLETE.getIndex()); NewOrderStatus.DELIVERING.getIndex(), NewOrderStatus.COMPLETE.getIndex());
...@@ -3606,7 +3624,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3606,7 +3624,7 @@ public class OrderServiceImpl implements Orderservice {
&& (StringUtils.isBlank(orderBean.getSpellGroupCode()) || StringUtils.isBlank(orderBean.getSpellGroupActivityCode()))) { && (StringUtils.isBlank(orderBean.getSpellGroupCode()) || StringUtils.isBlank(orderBean.getSpellGroupActivityCode()))) {
return ResponseUtil.error(ResponseResult.SPELL_GROUP_QUERY_GROUP_WORK_ERROR); return ResponseUtil.error(ResponseResult.SPELL_GROUP_QUERY_GROUP_WORK_ERROR);
} }
}else if (NewOrderStatus.DELIVERING.getIndex().equals(orderBean.getStatusV2())) { } else if (NewOrderStatus.DELIVERING.getIndex().equals(orderBean.getStatusV2())) {
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "订单配送中,退款请联系售后!"); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "订单配送中,退款请联系售后!");
} }
...@@ -3614,7 +3632,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3614,7 +3632,7 @@ public class OrderServiceImpl implements Orderservice {
if (PayStatus.HAVE_PAID.getCode().equals(orderBean.getPayStatus())) { if (PayStatus.HAVE_PAID.getCode().equals(orderBean.getPayStatus())) {
boolean isRefundDeliveryFee = true; boolean isRefundDeliveryFee = true;
//商城查询配送费 //商城查询配送费
if (Objects.equals(BizTypeEnum.MALL.getBizType(),orderBean.getBizType()) if (Objects.equals(BizTypeEnum.MALL.getBizType(), orderBean.getBizType())
&& StringUtils.isNotEmpty(orderBean.getExtInfo())) { && StringUtils.isNotEmpty(orderBean.getExtInfo())) {
JSONObject extInfoJsonObject = JSONObject.parseObject(orderBean.getExtInfo()); JSONObject extInfoJsonObject = JSONObject.parseObject(orderBean.getExtInfo());
OrderExtInfoDto orderExtInfoDto = extInfoJsonObject.toJavaObject(OrderExtInfoDto.class); OrderExtInfoDto orderExtInfoDto = extInfoJsonObject.toJavaObject(OrderExtInfoDto.class);
...@@ -3636,7 +3654,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3636,7 +3654,7 @@ public class OrderServiceImpl implements Orderservice {
} }
} }
} }
}else { } else {
// 查询小程序是否配置了退运费 // 查询小程序是否配置了退运费
String configStr = redisCache.hashGet(MessageFormat.format(OrderRedisKeyConstant.ORDER_REFUND_CONFIG, orderBean.getCompanyId(), orderBean.getAppId()), OrderRedisKeyConstant.HashKeyForOrderRefundConfig.TAKE_OUT); String configStr = redisCache.hashGet(MessageFormat.format(OrderRedisKeyConstant.ORDER_REFUND_CONFIG, orderBean.getCompanyId(), orderBean.getAppId()), OrderRedisKeyConstant.HashKeyForOrderRefundConfig.TAKE_OUT);
if (StringUtils.isNotEmpty(configStr)) { if (StringUtils.isNotEmpty(configStr)) {
...@@ -3655,7 +3673,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3655,7 +3673,7 @@ public class OrderServiceImpl implements Orderservice {
if (NewOrderStatus.PLACE_AN_ORDER.getIndex().equals(orderBean.getStatusV2())) { if (NewOrderStatus.PLACE_AN_ORDER.getIndex().equals(orderBean.getStatusV2())) {
// 未接单的 请用户直接操作C端小程序处理 // 未接单的 请用户直接操作C端小程序处理
return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "订单未接单,请指引用户C端操作退款!"); return ResponseUtil.error(ResponseResult.ORDER__ERRORREFUND.getCode(), "订单未接单,请指引用户C端操作退款!");
}else { } else {
CancelOrderRequest cancelOrderRequest = new CancelOrderRequest(); CancelOrderRequest cancelOrderRequest = new CancelOrderRequest();
cancelOrderRequest.setPartnerId(orderBean.getCompanyId()); cancelOrderRequest.setPartnerId(orderBean.getCompanyId());
cancelOrderRequest.setStoreId(orderBean.getShopId()); cancelOrderRequest.setStoreId(orderBean.getShopId());
...@@ -3731,9 +3749,9 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3731,9 +3749,9 @@ public class OrderServiceImpl implements Orderservice {
//支付退款 //支付退款
PayRefundResponse refundResponse; PayRefundResponse refundResponse;
try { try {
if(null != orderBean.getOrderPayItem() && orderBean.getOrderPayItem().size()>0){ if (null != orderBean.getOrderPayItem() && orderBean.getOrderPayItem().size() > 0) {
refundResponse = paymentHandle.multiRefund(orderBean); refundResponse = paymentHandle.multiRefund(orderBean);
}else{ } else {
refundResponse = paymentHandle.refund("用户买券订单-申请退款", orderBean); refundResponse = paymentHandle.refund("用户买券订单-申请退款", orderBean);
} }
if (refundResponse.getPayRefundStatus().getCode().compareTo(PayRefundStatus.SUCCESS.getCode()) != 0) { if (refundResponse.getPayRefundStatus().getCode().compareTo(PayRefundStatus.SUCCESS.getCode()) != 0) {
...@@ -3750,7 +3768,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3750,7 +3768,7 @@ public class OrderServiceImpl implements Orderservice {
orderServiceClient.refundFailures(requestDTO); orderServiceClient.refundFailures(requestDTO);
} }
state = refundResponse.getPayRefundStatus().getCode(); state = refundResponse.getPayRefundStatus().getCode();
} catch (OrderServiceException orderEx){ } catch (OrderServiceException orderEx) {
// 系统异常 // 系统异常
RefundFailureRequestDTO requestDTO = RefundFailureRequestDTO.builder().orderCode(orderBean.getOid()) RefundFailureRequestDTO requestDTO = RefundFailureRequestDTO.builder().orderCode(orderBean.getOid())
.failureType(RefundFailureRequestDTO.FAILURETYPE_SYSTEM_ERROR) .failureType(RefundFailureRequestDTO.FAILURETYPE_SYSTEM_ERROR)
...@@ -3774,7 +3792,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3774,7 +3792,7 @@ public class OrderServiceImpl implements Orderservice {
} else if (Objects.equals(PayRefundStatus.SUCCESS.getCode(), state)) { } else if (Objects.equals(PayRefundStatus.SUCCESS.getCode(), state)) {
//退款成功 //退款成功
cancelOrderRequest.setCreateEvent(AfterSalesOrderCreateEventEnum.REFUND_COMPLETE.getCreateEvent()); cancelOrderRequest.setCreateEvent(AfterSalesOrderCreateEventEnum.REFUND_COMPLETE.getCreateEvent());
}else { } else {
// 退款失败,直接给基础服务null 用于后续补偿操作 // 退款失败,直接给基础服务null 用于后续补偿操作
cancelOrderRequest.setCreateEvent(null); cancelOrderRequest.setCreateEvent(null);
} }
...@@ -3790,7 +3808,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3790,7 +3808,7 @@ public class OrderServiceImpl implements Orderservice {
} }
if (Objects.nonNull(state)) { if (Objects.nonNull(state)) {
//冲正库存 //冲正库存
stockHandle.revert(null,orderBean); stockHandle.revert(null, orderBean);
} }
// 删除订单 通知活动添加商品库存 status 需要老订单的 ordercode // 删除订单 通知活动添加商品库存 status 需要老订单的 ordercode
// orderQueueService.backOrdersStatusChange(orderBean.getOrderCode(), orderBean.getOrderState(), orderBean.getPayState()); // orderQueueService.backOrdersStatusChange(orderBean.getOrderCode(), orderBean.getOrderState(), orderBean.getPayState());
...@@ -3822,11 +3840,11 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3822,11 +3840,11 @@ public class OrderServiceImpl implements Orderservice {
} }
// fisherman 查询配置是否能退款 未完成 // fisherman 查询配置是否能退款 未完成
boolean isTrue = orderAdapter.checkRefundButtionBizTypeIs6(orderBean.getCompanyId(), orderBean.getBizType(), boolean isTrue = orderAdapter.checkRefundButtionBizTypeIs6(orderBean.getCompanyId(), orderBean.getBizType(),
orderBean.getStatus(),userLoginInfoDto.getWxAppId(), new Date(orderBean.getGmtCreate()), orderBean.getOrderType()); orderBean.getStatus(), userLoginInfoDto.getWxAppId(), new Date(orderBean.getGmtCreate()), orderBean.getOrderType());
if (isTrue) { if (isTrue) {
return ResponseUtil.success(); return ResponseUtil.success();
} }
return ResponseUtil.error(ResponseResult.COUPON_ORDER_COMMON_VERIFY_FAIL.getCode(),"虚拟券退款配置未启用,请联系客服"); return ResponseUtil.error(ResponseResult.COUPON_ORDER_COMMON_VERIFY_FAIL.getCode(), "虚拟券退款配置未启用,请联系客服");
} }
...@@ -3869,7 +3887,6 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3869,7 +3887,6 @@ public class OrderServiceImpl implements Orderservice {
/** /**
* 发送支付成功模板消息 * 发送支付成功模板消息
*
*/ */
public void sendMessageByNewApp(SendPaySuccessMessageVo sendPaySuccessMessageVo) { public void sendMessageByNewApp(SendPaySuccessMessageVo sendPaySuccessMessageVo) {
OrderBeanV1 orderBean = new OrderBeanV1(); OrderBeanV1 orderBean = new OrderBeanV1();
......
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