Ver código fonte

退款记录接口

lishiqiang 1 mês atrás
pai
commit
e6caefb892

+ 44 - 3
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/OtcTradeOrderController.java

@@ -60,7 +60,6 @@ import java.util.*;
 
 import static com.yc.ship.framework.common.pojo.CommonResult.success;
 import static com.yc.ship.framework.operatelog.core.enums.OperateTypeEnum.*;
-import static com.yc.ship.framework.security.core.util.SecurityFrameworkUtils.getLoginUser;
 
 
 /***
@@ -306,7 +305,7 @@ public class OtcTradeOrderController {
     @OperateLog(type = API)
     @PlatTenantEnv
     public CommonResult<TradeRefundCalculateRespVO> calculateRefundAmount(@Valid @RequestBody TradeRefundCreateReqVO refundCreateReqVO) {
-        return adminTradeOrderService.calculateRefundAmount(getLoginUser(), refundCreateReqVO);
+        return adminTradeOrderService.calculateRefundAmount(agencyAuthUtils.getAgencyLoginUser(), refundCreateReqVO);
     }
 
     @PostMapping("/cancelRefund")
@@ -329,7 +328,7 @@ public class OtcTradeOrderController {
     @Operation(summary = "退款审核")
     @OperateLog(type = API)
     public CommonResult<?> refundAudit(@Valid @RequestBody TradeRefundAuditReqVO refundAuditReqVO){
-        return adminTradeOrderService.refundAudit(getLoginUser(),refundAuditReqVO);
+        return adminTradeOrderService.refundAudit(agencyAuthUtils.getAgencyLoginUser(),refundAuditReqVO);
     }
     @GetMapping("/refund/refundDetailList")
     @Operation(summary = "退单批次详情",description = "根据退单id查询退单批次详情")
@@ -338,6 +337,48 @@ public class OtcTradeOrderController {
     public CommonResult<List<RefundDetailRespVO>> getRefundBatchDetails(@Valid @RequestParam("id") Long id) {
         return success(otcTradeOrderService.getRefundBatchDetails(id));
     }
+
+
+    @GetMapping("/refund/refundRecordList")
+    @Operation(summary = "退款记录[分页]",description = "根据条件查询退款记录")
+    @OperateLog(type = API)
+    @PlatTenantEnv
+    public CommonResult<PageResult<RefundRecordRespVO>> getPageRefundRecord(@Valid RefundRecordPageReqVO pageReqVO) {
+        return success(otcTradeOrderService.getPageRefundRecord(pageReqVO));
+    }
+
+    /**
+     * 退款记录如果长时间处于退款中,可以向支付平台反查
+     * @param refundRecordId
+     * @return
+     */
+    @GetMapping("/refundQuery")
+    @Operation(summary = "退款中-退款查询(向支付平台)")
+    @OperateLog(type = API)
+    public CommonResult<?> refundQuery(@Valid Long refundRecordId){
+        return adminTradeOrderService.refundQuery(refundRecordId);
+    }
+
+    @PostMapping("/refundByRecord")
+    @Operation(summary = "根据退款记录再发发起退款")
+    @OperateLog(type = API)
+    public CommonResult<?> refundByRecord(Long refundRecordId){
+        return adminTradeOrderService.refundByRecord(agencyAuthUtils.getAgencyLoginUser(),refundRecordId);
+    }
+
+    /**
+     * 退款单如果处于长时间处于等待退款(因mq消息失败了)、或者供应商退款失败。可手动发起退款给游客
+     * @param refundId
+     * @return
+     */
+    @PostMapping("/manualRefund")
+    @Operation(summary = "人工退款")
+    @OperateLog(type = API)
+    public CommonResult<?> manualRefund(Long refundId){
+
+        return adminTradeOrderService.manualRefund(agencyAuthUtils.getAgencyLoginUser(),refundId);
+    }
+
     @GetMapping("/window/orderDetailInfo")
     @Operation(summary = "win-门票详情", description = "根据订单id查询门票详情")
     @OperateLog(type = API)

+ 3 - 3
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/otc/impl/OtcTradeOrderServiceImpl.java

@@ -2030,9 +2030,9 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
     @Override
     public PageResult<RefundRecordRespVO> getPageRefundRecord(RefundRecordPageReqVO pageReqVO) {
         IPage<RefundRecordRespVO> page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize());
-        Long agencyId = ThreadLocalUtil.getAgencyId();
-        if(agencyId!=null){
-            pageReqVO.setSourceId(agencyId.toString());
+        LoginUser agencyLoginUser = agencyAuthUtils.getAgencyLoginUser();
+        if(agencyLoginUser.getDistributorId()!=null){
+            pageReqVO.setSourceId(agencyLoginUser.getDistributorId().toString());
         }
         IPage<RefundRecordRespVO> iPage = tradeOrderMapper.getPageRefundRecord(page, pageReqVO);
         return new PageResult<>(iPage.getRecords(), iPage.getTotal());