Commit ecff6b75 by 程裕兵

feat:refund

parent a25711b3
...@@ -3,6 +3,7 @@ package com.jiejing.fitness.finance.api.cashier; ...@@ -3,6 +3,7 @@ package com.jiejing.fitness.finance.api.cashier;
import com.jiejing.common.model.JsonResult; import com.jiejing.common.model.JsonResult;
import com.jiejing.common.model.PageVO; import com.jiejing.common.model.PageVO;
import com.jiejing.fitness.finance.api.cashier.request.BindStudioCashierRequest; import com.jiejing.fitness.finance.api.cashier.request.BindStudioCashierRequest;
import com.jiejing.fitness.finance.api.cashier.request.ListRelatedStudioCashierRecordRequest;
import com.jiejing.fitness.finance.api.cashier.request.GetStudioCashierByIdRequest; import com.jiejing.fitness.finance.api.cashier.request.GetStudioCashierByIdRequest;
import com.jiejing.fitness.finance.api.cashier.request.GetStudioSettleRequest; import com.jiejing.fitness.finance.api.cashier.request.GetStudioSettleRequest;
import com.jiejing.fitness.finance.api.cashier.request.ListStudioCashierByIdsRequest; import com.jiejing.fitness.finance.api.cashier.request.ListStudioCashierByIdsRequest;
...@@ -34,7 +35,6 @@ public interface StudioCashierApi { ...@@ -34,7 +35,6 @@ public interface StudioCashierApi {
@PostMapping(value = "/private/studioCashier/getAppId") @PostMapping(value = "/private/studioCashier/getAppId")
JsonResult<Map<PayChannelEnums, String>> getAppId(); JsonResult<Map<PayChannelEnums, String>> getAppId();
@ApiOperation(value = "绑定流水", tags = {TAG}) @ApiOperation(value = "绑定流水", tags = {TAG})
@PostMapping(value = "/private/studioCashier/bind") @PostMapping(value = "/private/studioCashier/bind")
JsonResult<Void> bind(BindStudioCashierRequest request); JsonResult<Void> bind(BindStudioCashierRequest request);
...@@ -55,6 +55,10 @@ public interface StudioCashierApi { ...@@ -55,6 +55,10 @@ public interface StudioCashierApi {
@PostMapping(value = "/private/studioCashier/getById") @PostMapping(value = "/private/studioCashier/getById")
JsonResult<StudioCashierRecordVO> getById(GetStudioCashierByIdRequest request); JsonResult<StudioCashierRecordVO> getById(GetStudioCashierByIdRequest request);
@ApiOperation(value = "查询关联收银流水", tags = {TAG})
@PostMapping(value = "/private/studioCashier/listByRelatedTransNo")
JsonResult<List<StudioCashierRecordVO>> listByRelatedTransNo(ListRelatedStudioCashierRecordRequest request);
@ApiOperation(value = "查询收银流水详情列表", tags = {TAG}) @ApiOperation(value = "查询收银流水详情列表", tags = {TAG})
@PostMapping(value = "/private/studioCashier/listByIds") @PostMapping(value = "/private/studioCashier/listByIds")
JsonResult<List<StudioCashierRecordVO>> listByIds(ListStudioCashierByIdsRequest request); JsonResult<List<StudioCashierRecordVO>> listByIds(ListStudioCashierByIdsRequest request);
......
...@@ -5,6 +5,7 @@ import com.jiejing.common.model.PageVO; ...@@ -5,6 +5,7 @@ import com.jiejing.common.model.PageVO;
import com.jiejing.fitness.finance.api.cashier.request.BindStudioCashierRequest; import com.jiejing.fitness.finance.api.cashier.request.BindStudioCashierRequest;
import com.jiejing.fitness.finance.api.cashier.request.GetStudioCashierByIdRequest; import com.jiejing.fitness.finance.api.cashier.request.GetStudioCashierByIdRequest;
import com.jiejing.fitness.finance.api.cashier.request.GetStudioSettleRequest; import com.jiejing.fitness.finance.api.cashier.request.GetStudioSettleRequest;
import com.jiejing.fitness.finance.api.cashier.request.ListRelatedStudioCashierRecordRequest;
import com.jiejing.fitness.finance.api.cashier.request.ListStudioCashierByIdsRequest; import com.jiejing.fitness.finance.api.cashier.request.ListStudioCashierByIdsRequest;
import com.jiejing.fitness.finance.api.cashier.request.ListStudioCashierByOrderNoRequest; import com.jiejing.fitness.finance.api.cashier.request.ListStudioCashierByOrderNoRequest;
import com.jiejing.fitness.finance.api.cashier.request.ListStudioCashierBySubOrderNoRequest; import com.jiejing.fitness.finance.api.cashier.request.ListStudioCashierBySubOrderNoRequest;
...@@ -64,6 +65,12 @@ public class StudioCashierApiFallback implements FallbackFactory<StudioCashierAp ...@@ -64,6 +65,12 @@ public class StudioCashierApiFallback implements FallbackFactory<StudioCashierAp
} }
@Override @Override
public JsonResult<List<StudioCashierRecordVO>> listByRelatedTransNo(
ListRelatedStudioCashierRecordRequest request) {
return JsonResult.rpcError();
}
@Override
public JsonResult<List<StudioCashierRecordVO>> listByIds(ListStudioCashierByIdsRequest request) { public JsonResult<List<StudioCashierRecordVO>> listByIds(ListStudioCashierByIdsRequest request) {
return JsonResult.rpcError(); return JsonResult.rpcError();
} }
......
package com.jiejing.fitness.finance.api.cashier.request;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import javax.validation.constraints.NotBlank;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author chengyubing
* @since 2024/5/10 17:14
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(description = "获取关联流水Request")
public class ListRelatedStudioCashierRecordRequest {
@ApiModelProperty(value = "关联单号", required = true)
@NotBlank(message = "关联单号不能为空")
private Long relatedTransNo;
}
...@@ -97,6 +97,10 @@ public interface StudioMerchantApi { ...@@ -97,6 +97,10 @@ public interface StudioMerchantApi {
@PostMapping(value = "/private/studioMerchant/pay") @PostMapping(value = "/private/studioMerchant/pay")
JsonResult<PayVO> pay(StudioMerchantPayRequest request); JsonResult<PayVO> pay(StudioMerchantPayRequest request);
@ApiOperation(value = "退款前置校验", tags = {TAG})
@PostMapping(value = "/private/studioMerchant/checkBeforeRefund")
JsonResult<StudioMerchantRefundVO> checkBeforeRefund(StudioMerchantRefundRequest request);
@ApiOperation(value = "退款", tags = {TAG}) @ApiOperation(value = "退款", tags = {TAG})
@PostMapping(value = "/private/studioMerchant/refund") @PostMapping(value = "/private/studioMerchant/refund")
JsonResult<StudioMerchantRefundVO> refund(StudioMerchantRefundRequest request); JsonResult<StudioMerchantRefundVO> refund(StudioMerchantRefundRequest request);
......
...@@ -117,6 +117,11 @@ public class StudioMerchantApiFallback implements FallbackFactory<StudioMerchant ...@@ -117,6 +117,11 @@ public class StudioMerchantApiFallback implements FallbackFactory<StudioMerchant
} }
@Override @Override
public JsonResult<StudioMerchantRefundVO> checkBeforeRefund(StudioMerchantRefundRequest request) {
return JsonResult.rpcError();
}
@Override
public JsonResult<StudioMerchantRefundVO> refund(StudioMerchantRefundRequest request) { public JsonResult<StudioMerchantRefundVO> refund(StudioMerchantRefundRequest request) {
return JsonResult.rpcError(); return JsonResult.rpcError();
} }
......
...@@ -7,6 +7,7 @@ import com.jiejing.fitness.finance.api.cashier.StudioCashierApi; ...@@ -7,6 +7,7 @@ import com.jiejing.fitness.finance.api.cashier.StudioCashierApi;
import com.jiejing.fitness.finance.api.cashier.request.BindStudioCashierRequest; import com.jiejing.fitness.finance.api.cashier.request.BindStudioCashierRequest;
import com.jiejing.fitness.finance.api.cashier.request.GetStudioCashierByIdRequest; import com.jiejing.fitness.finance.api.cashier.request.GetStudioCashierByIdRequest;
import com.jiejing.fitness.finance.api.cashier.request.GetStudioSettleRequest; import com.jiejing.fitness.finance.api.cashier.request.GetStudioSettleRequest;
import com.jiejing.fitness.finance.api.cashier.request.ListRelatedStudioCashierRecordRequest;
import com.jiejing.fitness.finance.api.cashier.request.ListStudioCashierByIdsRequest; import com.jiejing.fitness.finance.api.cashier.request.ListStudioCashierByIdsRequest;
import com.jiejing.fitness.finance.api.cashier.request.ListStudioCashierByOrderNoRequest; import com.jiejing.fitness.finance.api.cashier.request.ListStudioCashierByOrderNoRequest;
import com.jiejing.fitness.finance.api.cashier.request.ListStudioCashierBySubOrderNoRequest; import com.jiejing.fitness.finance.api.cashier.request.ListStudioCashierBySubOrderNoRequest;
...@@ -91,6 +92,14 @@ public class StudioCashierController implements StudioCashierApi { ...@@ -91,6 +92,14 @@ public class StudioCashierController implements StudioCashierApi {
return JsonResult.success(studioCashierService.getById(request.getId())); return JsonResult.success(studioCashierService.getById(request.getId()));
} }
@ApiOperation(value = "查询关联收银流水", tags = {TAG})
@PostMapping(value = "/private/studioCashier/listByRelatedTransNo")
@Override
public JsonResult<List<StudioCashierRecordVO>> listByRelatedTransNo(
@Valid @RequestBody ListRelatedStudioCashierRecordRequest request) {
return JsonResult.success(studioCashierService.listByRelatedTransNo(request.getRelatedTransNo()));
}
@ApiOperation(value = "查询收银流水详情列表", tags = {TAG}) @ApiOperation(value = "查询收银流水详情列表", tags = {TAG})
@PostMapping(value = "/private/studioCashier/listByIds") @PostMapping(value = "/private/studioCashier/listByIds")
@Override @Override
......
...@@ -179,6 +179,15 @@ public class StudioMerchantController implements StudioMerchantApi { ...@@ -179,6 +179,15 @@ public class StudioMerchantController implements StudioMerchantApi {
return JsonResult.success(payService.merchantPay(params)); return JsonResult.success(payService.merchantPay(params));
} }
@ApiOperation(value = "退款前置校验", tags = {TAG})
@PostMapping(value = "/private/studioMerchant/checkBeforeRefund")
@Override
public JsonResult<StudioMerchantRefundVO> checkBeforeRefund(
@RequestBody @Valid StudioMerchantRefundRequest request) {
StudioMerchantRefundParams params = BeanUtil.map(request, StudioMerchantRefundParams.class);
return JsonResult.success(refundService.checkBeforeMerchantRefund(params));
}
@ApiOperation(value = "退款", tags = {TAG}) @ApiOperation(value = "退款", tags = {TAG})
@PostMapping(value = "/private/studioMerchant/refund") @PostMapping(value = "/private/studioMerchant/refund")
@Override @Override
......
...@@ -179,4 +179,10 @@ public class StudioCashierRecordRpService extends ...@@ -179,4 +179,10 @@ public class StudioCashierRecordRpService extends
public StudioCashierStatisticVO statistic(PageBrandCashierRecordQuery query) { public StudioCashierStatisticVO statistic(PageBrandCashierRecordQuery query) {
return this.baseMapper.statistic(query); return this.baseMapper.statistic(query);
} }
public List<StudioCashierRecord> listByRelatedTransNo(Long relatedTransNo) {
QueryWrapper<StudioCashierRecord> wrapper = new QueryWrapper<>();
wrapper.eq(StudioCashierRecord.RELATED_TRANS_NO, relatedTransNo);
return Optional.ofNullable(this.baseMapper.selectList(wrapper)).orElse(new ArrayList<>(1));
}
} }
...@@ -103,4 +103,12 @@ public interface StudioCashierService { ...@@ -103,4 +103,12 @@ public interface StudioCashierService {
*/ */
StudioSettleVO getSettle(Long id); StudioSettleVO getSettle(Long id);
/**
* 根据关联流水号查询流水
*
* @param relatedTransNo 关联流水号
* @return 结果
*/
List<StudioCashierRecordVO> listByRelatedTransNo(Long relatedTransNo);
} }
...@@ -26,6 +26,7 @@ import com.jiejing.fitness.finance.service.enums.FinanceErrorEnums; ...@@ -26,6 +26,7 @@ import com.jiejing.fitness.finance.service.enums.FinanceErrorEnums;
import com.jiejing.fitness.finance.service.enums.GlobalConfigEnums; import com.jiejing.fitness.finance.service.enums.GlobalConfigEnums;
import com.jiejing.paycenter.common.enums.common.PayChannelEnums; import com.jiejing.paycenter.common.enums.common.PayChannelEnums;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -145,4 +146,10 @@ public class StudioCashierServiceImpl implements StudioCashierService { ...@@ -145,4 +146,10 @@ public class StudioCashierServiceImpl implements StudioCashierService {
.orElse(null); .orElse(null);
} }
@Override
public List<StudioCashierRecordVO> listByRelatedTransNo(Long relatedTransNo) {
List<StudioCashierRecord> records = studioCashierRecordRpService.listByRelatedTransNo(relatedTransNo);
return records.stream().map(CashierConvert::convertVO).collect(Collectors.toList());
}
} }
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