修改退款审核、退款环节,记录操作人ID,通过请求token获取用户ID
This commit is contained in:
parent
7817cfb727
commit
5a5623069e
@ -107,6 +107,12 @@
|
|||||||
<artifactId>javax.servlet-api</artifactId>
|
<artifactId>javax.servlet-api</artifactId>
|
||||||
<optional>true</optional>
|
<optional>true</optional>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<!-- Sa-Token 权限认证,在线文档:https://sa-token.cc -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>cn.dev33</groupId>
|
||||||
|
<artifactId>sa-token-spring-boot3-starter</artifactId>
|
||||||
|
<version>${satoken.version}</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
|||||||
@ -1,9 +1,13 @@
|
|||||||
package com.cdzy.payment.controller;
|
package com.cdzy.payment.controller;
|
||||||
|
|
||||||
|
import cn.dev33.satoken.stp.StpUtil;
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
|
import com.cdzy.common.enums.Code;
|
||||||
import com.cdzy.common.model.JsonResult;
|
import com.cdzy.common.model.JsonResult;
|
||||||
import com.cdzy.payment.model.dto.*;
|
import com.cdzy.payment.model.dto.*;
|
||||||
import com.cdzy.payment.service.WxPayService;
|
import com.cdzy.payment.service.WxPayService;
|
||||||
|
import com.ebike.feign.clients.StaffFeignClient;
|
||||||
|
import com.ebike.feign.model.rsp.StaffFeign;
|
||||||
import com.mybatisflex.core.paginate.Page;
|
import com.mybatisflex.core.paginate.Page;
|
||||||
import com.wechat.pay.java.service.payments.model.Transaction;
|
import com.wechat.pay.java.service.payments.model.Transaction;
|
||||||
import com.wechat.pay.java.service.refund.model.Refund;
|
import com.wechat.pay.java.service.refund.model.Refund;
|
||||||
@ -26,6 +30,8 @@ public class EbikeWxPaymentController {
|
|||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private WxPayService wxPayService;
|
private WxPayService wxPayService;
|
||||||
|
@Resource
|
||||||
|
private StaffFeignClient staffFeignClient;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 微信支付下单
|
* 微信支付下单
|
||||||
@ -84,7 +90,15 @@ public class EbikeWxPaymentController {
|
|||||||
*/
|
*/
|
||||||
@PostMapping("/refund")
|
@PostMapping("/refund")
|
||||||
public JsonResult<?> refund(@RequestBody ReqRefundDto refundDto) {
|
public JsonResult<?> refund(@RequestBody ReqRefundDto refundDto) {
|
||||||
HandleNotifyResult r = wxPayService.refund(refundDto);
|
// 获取审核人信息
|
||||||
|
String tokenValue = StpUtil.getTokenValue();
|
||||||
|
String userId = null;
|
||||||
|
JsonResult<StaffFeign> result = staffFeignClient.getInfoByToken(tokenValue);
|
||||||
|
if (result.getCode() == Code.SUCCESS) {
|
||||||
|
StaffFeign staffFeign = result.getData();
|
||||||
|
userId = String.valueOf(staffFeign.getStaffId());
|
||||||
|
}
|
||||||
|
HandleNotifyResult r = wxPayService.refund(refundDto, userId);
|
||||||
return r.isSuccess()?JsonResult.success(true):JsonResult.failed(r.getMessage());
|
return r.isSuccess()?JsonResult.success(true):JsonResult.failed(r.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -96,7 +110,15 @@ public class EbikeWxPaymentController {
|
|||||||
*/
|
*/
|
||||||
@PostMapping("/reviewRefund")
|
@PostMapping("/reviewRefund")
|
||||||
public JsonResult<?> reviewRefund(@RequestBody ReqRefundProcessDto processDto) {
|
public JsonResult<?> reviewRefund(@RequestBody ReqRefundProcessDto processDto) {
|
||||||
boolean r = wxPayService.refundReview(processDto);
|
// 获取审核人信息
|
||||||
|
String tokenValue = StpUtil.getTokenValue();
|
||||||
|
String userId = null;
|
||||||
|
JsonResult<StaffFeign> result = staffFeignClient.getInfoByToken(tokenValue);
|
||||||
|
if (result.getCode() == Code.SUCCESS) {
|
||||||
|
StaffFeign staffFeign = result.getData();
|
||||||
|
userId = String.valueOf(staffFeign.getStaffId());
|
||||||
|
}
|
||||||
|
boolean r = wxPayService.refundReview(processDto, userId);
|
||||||
return r?JsonResult.success(true):JsonResult.failed("审核失败");
|
return r?JsonResult.success(true):JsonResult.failed("审核失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -81,17 +81,19 @@ public interface WxPayService {
|
|||||||
* 审核退款申请
|
* 审核退款申请
|
||||||
*
|
*
|
||||||
* @param processDto 退款审核信息
|
* @param processDto 退款审核信息
|
||||||
|
* @operator 操作人id
|
||||||
* @return 退款信息id
|
* @return 退款信息id
|
||||||
*/
|
*/
|
||||||
Boolean refundReview(ReqRefundProcessDto processDto);
|
Boolean refundReview(ReqRefundProcessDto processDto, String operator);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 调用微信退款接口
|
* 调用微信退款接口
|
||||||
*
|
*
|
||||||
* @param refundDto 退款请求
|
* @param refundDto 退款请求
|
||||||
|
* @param operator 操作人id
|
||||||
* @return 退款信息id
|
* @return 退款信息id
|
||||||
*/
|
*/
|
||||||
HandleNotifyResult refund(ReqRefundDto refundDto);
|
HandleNotifyResult refund(ReqRefundDto refundDto, String operator);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -96,7 +96,8 @@ public class EbikeRefundServiceImpl extends ServiceImpl<EbikeRefundMapper, Ebike
|
|||||||
EBIKE_PAYMENT.PAYMENT_TIME.as("pay_time"), EBIKE_REFUND.REASON.as("apply_reason"),
|
EBIKE_PAYMENT.PAYMENT_TIME.as("pay_time"), EBIKE_REFUND.REASON.as("apply_reason"),
|
||||||
QueryMethods.case_(EBIKE_REFUND.SOURCE).when("0").then("用户")
|
QueryMethods.case_(EBIKE_REFUND.SOURCE).when("0").then("用户")
|
||||||
.when("1").then("客服").end().as("source"), EBIKE_USER.NICKNAME.as("applicant"),
|
.when("1").then("客服").end().as("source"), EBIKE_USER.NICKNAME.as("applicant"),
|
||||||
EBIKE_USER_ORDERS.BIKE_CODE.as("ebike_code"),EBIKE_USER_ORDERS.START_TIME.as("start_time"), EBIKE_USER_ORDERS.END_TIME.as("end_time")
|
EBIKE_USER_ORDERS.BIKE_CODE.as("ebike_code"), EBIKE_USER_ORDERS.START_TIME.as("start_time"), EBIKE_USER_ORDERS.END_TIME.as("end_time"),
|
||||||
|
EBIKE_USER_ORDERS.RIDE_POINT, EBIKE_USER_ORDERS.RETURN_POINT
|
||||||
)
|
)
|
||||||
.leftJoin(EBIKE_PAYMENT).on(EBIKE_PAYMENT.ORDER_ID.eq(EBIKE_REFUND.ORDER_ID))
|
.leftJoin(EBIKE_PAYMENT).on(EBIKE_PAYMENT.ORDER_ID.eq(EBIKE_REFUND.ORDER_ID))
|
||||||
.leftJoin(EBIKE_USER).on(EBIKE_USER.USER_ID.eq(EBIKE_PAYMENT.USER_ID))
|
.leftJoin(EBIKE_USER).on(EBIKE_USER.USER_ID.eq(EBIKE_PAYMENT.USER_ID))
|
||||||
@ -131,7 +132,8 @@ public class EbikeRefundServiceImpl extends ServiceImpl<EbikeRefundMapper, Ebike
|
|||||||
EBIKE_PAYMENT.PAYMENT_TIME.as("pay_time"), EBIKE_REFUND.REASON.as("apply_reason"),
|
EBIKE_PAYMENT.PAYMENT_TIME.as("pay_time"), EBIKE_REFUND.REASON.as("apply_reason"),
|
||||||
QueryMethods.case_(EBIKE_REFUND.SOURCE).when("0").then("用户")
|
QueryMethods.case_(EBIKE_REFUND.SOURCE).when("0").then("用户")
|
||||||
.when("1").then("客服").end().as("source"), EBIKE_USER.NICKNAME.as("applicant"),
|
.when("1").then("客服").end().as("source"), EBIKE_USER.NICKNAME.as("applicant"),
|
||||||
EBIKE_USER_ORDERS.BIKE_CODE.as("ebike_code"),EBIKE_USER_ORDERS.START_TIME.as("start_time"), EBIKE_USER_ORDERS.END_TIME.as("end_time")
|
EBIKE_USER_ORDERS.BIKE_CODE.as("ebike_code"), EBIKE_USER_ORDERS.START_TIME.as("start_time"), EBIKE_USER_ORDERS.END_TIME.as("end_time"),
|
||||||
|
EBIKE_USER_ORDERS.RIDE_POINT, EBIKE_USER_ORDERS.RETURN_POINT
|
||||||
)
|
)
|
||||||
.leftJoin(EBIKE_PAYMENT).on(EBIKE_PAYMENT.ORDER_ID.eq(EBIKE_REFUND.ORDER_ID))
|
.leftJoin(EBIKE_PAYMENT).on(EBIKE_PAYMENT.ORDER_ID.eq(EBIKE_REFUND.ORDER_ID))
|
||||||
.leftJoin(EBIKE_USER).on(EBIKE_USER.USER_ID.eq(EBIKE_PAYMENT.USER_ID))
|
.leftJoin(EBIKE_USER).on(EBIKE_USER.USER_ID.eq(EBIKE_PAYMENT.USER_ID))
|
||||||
@ -170,8 +172,9 @@ public class EbikeRefundServiceImpl extends ServiceImpl<EbikeRefundMapper, Ebike
|
|||||||
.when("2").then("线下退款").end().as("refund_method"),
|
.when("2").then("线下退款").end().as("refund_method"),
|
||||||
EBIKE_PAYMENT.PAYMENT_TIME.as("pay_time"), EBIKE_REFUND.REASON.as("apply_reason"),
|
EBIKE_PAYMENT.PAYMENT_TIME.as("pay_time"), EBIKE_REFUND.REASON.as("apply_reason"),
|
||||||
QueryMethods.case_(EBIKE_REFUND.SOURCE).when("0").then("用户")
|
QueryMethods.case_(EBIKE_REFUND.SOURCE).when("0").then("用户")
|
||||||
.when("1").then("客服").end().as("source"), EBIKE_USER.NICKNAME.as("applicant"),
|
.when("1").then("客服").end().as("source"), EBIKE_USER.NICKNAME.as("applicant"),
|
||||||
EBIKE_USER_ORDERS.BIKE_CODE.as("ebike_code"),EBIKE_USER_ORDERS.START_TIME.as("start_time"), EBIKE_USER_ORDERS.END_TIME.as("end_time")
|
EBIKE_USER_ORDERS.BIKE_CODE.as("ebike_code"), EBIKE_USER_ORDERS.START_TIME.as("start_time"), EBIKE_USER_ORDERS.END_TIME.as("end_time"),
|
||||||
|
EBIKE_USER_ORDERS.RIDE_POINT, EBIKE_USER_ORDERS.RETURN_POINT
|
||||||
)
|
)
|
||||||
.leftJoin(EBIKE_PAYMENT).on(EBIKE_PAYMENT.ORDER_ID.eq(EBIKE_REFUND.ORDER_ID))
|
.leftJoin(EBIKE_PAYMENT).on(EBIKE_PAYMENT.ORDER_ID.eq(EBIKE_REFUND.ORDER_ID))
|
||||||
.leftJoin(EBIKE_USER).on(EBIKE_USER.USER_ID.eq(EBIKE_PAYMENT.USER_ID))
|
.leftJoin(EBIKE_USER).on(EBIKE_USER.USER_ID.eq(EBIKE_PAYMENT.USER_ID))
|
||||||
@ -203,7 +206,8 @@ public class EbikeRefundServiceImpl extends ServiceImpl<EbikeRefundMapper, Ebike
|
|||||||
EBIKE_PAYMENT.PAYMENT_TIME.as("pay_time"), EBIKE_REFUND.REASON.as("apply_reason"),
|
EBIKE_PAYMENT.PAYMENT_TIME.as("pay_time"), EBIKE_REFUND.REASON.as("apply_reason"),
|
||||||
QueryMethods.case_(EBIKE_REFUND.SOURCE).when("0").then("用户")
|
QueryMethods.case_(EBIKE_REFUND.SOURCE).when("0").then("用户")
|
||||||
.when("1").then("客服").end().as("source"), EBIKE_USER.NICKNAME.as("applicant"),
|
.when("1").then("客服").end().as("source"), EBIKE_USER.NICKNAME.as("applicant"),
|
||||||
EBIKE_USER_ORDERS.BIKE_CODE.as("ebike_code"),EBIKE_USER_ORDERS.START_TIME.as("start_time"), EBIKE_USER_ORDERS.END_TIME.as("end_time")
|
EBIKE_USER_ORDERS.BIKE_CODE.as("ebike_code"), EBIKE_USER_ORDERS.START_TIME.as("start_time"), EBIKE_USER_ORDERS.END_TIME.as("end_time"),
|
||||||
|
EBIKE_USER_ORDERS.RIDE_POINT, EBIKE_USER_ORDERS.RETURN_POINT
|
||||||
)
|
)
|
||||||
.leftJoin(EBIKE_PAYMENT).on(EBIKE_PAYMENT.ORDER_ID.eq(EBIKE_REFUND.ORDER_ID))
|
.leftJoin(EBIKE_PAYMENT).on(EBIKE_PAYMENT.ORDER_ID.eq(EBIKE_REFUND.ORDER_ID))
|
||||||
.leftJoin(EBIKE_USER).on(EBIKE_USER.USER_ID.eq(EBIKE_PAYMENT.USER_ID))
|
.leftJoin(EBIKE_USER).on(EBIKE_USER.USER_ID.eq(EBIKE_PAYMENT.USER_ID))
|
||||||
|
|||||||
@ -366,6 +366,7 @@ public class WxPayServiceImpl implements WxPayService {
|
|||||||
ebikeRefund.setRefundApply(ebikePayment.getTotal());
|
ebikeRefund.setRefundApply(ebikePayment.getTotal());
|
||||||
ebikeRefund.setTransactionId(transactionId);
|
ebikeRefund.setTransactionId(transactionId);
|
||||||
ebikeRefund.setReason(reason);
|
ebikeRefund.setReason(reason);
|
||||||
|
ebikeRefund.setStatus(String.valueOf(Status.PROCESSING.ordinal()));
|
||||||
ebikeRefund.setProcessState(String.valueOf(RefundProcessState.applying.ordinal()));
|
ebikeRefund.setProcessState(String.valueOf(RefundProcessState.applying.ordinal()));
|
||||||
ebikeRefund.setSource(String.valueOf(RefoundApplySource.user.ordinal()));
|
ebikeRefund.setSource(String.valueOf(RefoundApplySource.user.ordinal()));
|
||||||
ebikeRefundService.saveRefundResult(ebikeRefund);
|
ebikeRefundService.saveRefundResult(ebikeRefund);
|
||||||
@ -373,13 +374,13 @@ public class WxPayServiceImpl implements WxPayService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean refundReview(ReqRefundProcessDto processDto) {
|
public Boolean refundReview(ReqRefundProcessDto processDto, String operator) {
|
||||||
EbikeRefund ebikeRefund = ebikeRefundService.getById(processDto.getRefundId());
|
EbikeRefund ebikeRefund = ebikeRefundService.getById(processDto.getRefundId());
|
||||||
if (ebikeRefund == null) {
|
if (ebikeRefund == null) {
|
||||||
log.error("审核refundReview失败,{} 退款申请不存在", processDto.getRefundId());
|
log.error("审核refundReview失败,{} 退款申请不存在", processDto.getRefundId());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
ebikeRefund.setReviewOperator(operator);
|
||||||
ebikeRefund.setProcessState(processDto.getOperate());
|
ebikeRefund.setProcessState(processDto.getOperate());
|
||||||
ebikeRefund.setProcessTime(LocalDateTime.now());
|
ebikeRefund.setProcessTime(LocalDateTime.now());
|
||||||
ebikeRefund.setRemark(processDto.getReason());
|
ebikeRefund.setRemark(processDto.getReason());
|
||||||
@ -396,7 +397,7 @@ public class WxPayServiceImpl implements WxPayService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public HandleNotifyResult refund(ReqRefundDto refundDto) {
|
public HandleNotifyResult refund(ReqRefundDto refundDto, String operator) {
|
||||||
HandleNotifyResult result_ = new HandleNotifyResult();
|
HandleNotifyResult result_ = new HandleNotifyResult();
|
||||||
result_.setSuccess(false);
|
result_.setSuccess(false);
|
||||||
// 首先验证密码
|
// 首先验证密码
|
||||||
@ -451,6 +452,7 @@ public class WxPayServiceImpl implements WxPayService {
|
|||||||
Refund result = wxRefundService.create(request);
|
Refund result = wxRefundService.create(request);
|
||||||
// 更新退款信息
|
// 更新退款信息
|
||||||
if (result != null) {
|
if (result != null) {
|
||||||
|
ebikeRefund.setRefundOperator(operator);
|
||||||
ebikeRefund.setOrderId(outTradeNo);
|
ebikeRefund.setOrderId(outTradeNo);
|
||||||
ebikeRefund.setTransactionId(transactionId);
|
ebikeRefund.setTransactionId(transactionId);
|
||||||
ebikeRefund.setTotal(amount.getTotal());
|
ebikeRefund.setTotal(amount.getTotal());
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user