Commit 556e2e89 by 缪晖

Merge branch 'KA-接口调用订单退款' into 'master'

Ka 接口调用订单退款

See merge request !136
parents 3e18580c 37554da8
package cn.freemud.controller;
import cn.freemud.base.entity.BaseResponse;
import cn.freemud.entities.vo.OrderDevelopRefundVo;
import cn.freemud.entities.vo.OrderRefundVo;
import cn.freemud.service.Orderservice;
import com.freemud.application.sdk.api.log.ApiAnnotation;
import com.freemud.application.sdk.api.log.LogParams;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2022/4/30 14:55
* @description : 针对开发人员开放的接口操作, 不暴露给外部人员
*/
@RequestMapping("/order/develop")
@RestController
public class OrderDeveloperController {
@Autowired
private Orderservice orderservice;
/**
* 订单内部人员操作 给订单退款, 使用该接口需要报备
* 1.生成售后单
* 2.直接调用oms进行退款处理
*/
@ApiAnnotation(logMessage = "/order/develop/refund")
@PostMapping("/refund")
public BaseResponse developRefund(@Validated @LogParams @RequestBody OrderDevelopRefundVo orderRefundVo) {
return orderservice.developRefund(orderRefundVo);
}
}
package cn.freemud.entities.vo;
import com.freemud.application.sdk.api.ordercenter.enums.RefundModeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.List;
/**
* @author : xh.Z
* @email : fisherman0510@163.com
* @Date : 2022/4/30 15:03
* @description :
*/
@Data
public class OrderDevelopRefundVo {
/**
* 订单号
*/
private List<String> orderCodes;
private String partnerId;
/**
* 退款理由
*/
private String reason;
/**
* 操作人,需要记录操作人
*/
@NotBlank(message = "请真实填写调动该接口的操作人")
private String operator;
/**
* 微商城退款方式
*
* @see RefundModeEnum#getIndex()
*/
@ApiModelProperty(value = "微商城退款方式", notes = RefundModeEnum.API_DOC)
private Byte refundMode;
}
...@@ -219,4 +219,11 @@ public interface Orderservice extends OrderFactoryService{ ...@@ -219,4 +219,11 @@ public interface Orderservice extends OrderFactoryService{
* @return * @return
*/ */
BaseResponse couponOrderRefundRetry(OrderRefundRetryVo orderRefundRetryVo); BaseResponse couponOrderRefundRetry(OrderRefundRetryVo orderRefundRetryVo);
/**
* 开发人员 操作退款订单 该接口 生产使用请通知SE
* @param orderRefundVo
* @return
*/
BaseResponse developRefund(OrderDevelopRefundVo orderRefundVo);
} }
...@@ -13,7 +13,12 @@ public enum OperateType { ...@@ -13,7 +13,12 @@ public enum OperateType {
ORDER_REJECT_REFUND("orderRejectRefund","拒绝退款"), ORDER_REJECT_REFUND("orderRejectRefund","拒绝退款"),
ORDER_CANCEL("orderCancel","订单取消"), ORDER_CANCEL("orderCancel","订单取消"),
ORDER_CREATE_DELIVERY("orderCreateDelivery","创建配送"), ORDER_CREATE_DELIVERY("orderCreateDelivery","创建配送"),
ORDER_CANCEL_DELIVERY("orderCancelDelivery","取消配送"); ORDER_CANCEL_DELIVERY("orderCancelDelivery","取消配送"),
/**
* 该操作无校验, 直接退款, 如果使用 请联系SE 进行报备,
* 该类型不给外部人员使用, 不对外部暴露接口
*/
ORDER_DEVELOPER_AGREE_REFUND("orderDeveloperAgreeRefund","售后人员同意退款");
/** /**
* 操作类型 * 操作类型
......
...@@ -353,4 +353,22 @@ public class OrderManagerAdapter { ...@@ -353,4 +353,22 @@ public class OrderManagerAdapter {
BaseResponse<OrderManagerResponse> orderManagerResponse = orderBeanFactory.getOrderManagerService(orderBean).orderCancelDelivery(request, orderBean); BaseResponse<OrderManagerResponse> orderManagerResponse = orderBeanFactory.getOrderManagerService(orderBean).orderCancelDelivery(request, orderBean);
return handleResponse(request,orderBean,orderManagerResponse); return handleResponse(request,orderBean,orderManagerResponse);
} }
/**
* @see OrderManagerAdapter#orderAgreeRefund(cn.freemud.management.entities.dto.request.order.OrderManagerRequest)
* @param request
* @return 改操作 无需校验订单参数 直接退款
* 使用该方法 请先进行报备, 因为不暴露给外部使用, 不属于业务代码
*/
public BaseResponse developRefund(OrderManagerRequest request) {
//查询订单
OrderBeanV1 orderBean = orderBaseService.getByOrderCode(request.getOrderId());
if (null == orderBean) {
return ResponseUtil.error(ResponseResult.ORDER_NOT_EXIST);
}
// 设置退款金额
orderBean.setAmount(orderVerifyHandle.getRefundAmount(orderBean,false).longValue());
BaseResponse<OrderManagerResponse> orderManagerResponse = orderBeanFactory.getOrderManagerService(orderBean).orderAgreeRefund(request, orderBean);
return handleResponse(request,orderBean,orderManagerResponse);
}
} }
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