package com.yuchen.saas.park.api.feign.property;

import com.yuchen.saas.park.api.dto.property.PropertyBillPayBto;
import com.yuchen.saas.park.api.dto.property.PropertyBillPayCallBackDto;
import org.nest.springwrap.core.launch.app.AppNameConstant;
import org.nest.springwrap.core.tool.api.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

@FeignClient(
        value = AppNameConstant.SAAS_PARK,
        fallback = PropertyBillPayFeignServiceFallback.class
)
public interface PropertyBillPayFeignService {

    /**
     * 物业账单线上缴费记录
     * @param billPayBto
     * @return
     */
    @PostMapping("/propertyBillPay/insert")
    R insert(@RequestBody PropertyBillPayBto billPayBto);

    /**
     * 物业缴费支付成功回调
     * @param propertyBillPayCallBackDto
     * @return
     */
    @PostMapping("/propertyBillPay/propertyFeePaySuccessCallBack")
    R propertyFeePaySuccessCallBack(@RequestBody PropertyBillPayCallBackDto propertyBillPayCallBackDto);

    /**
     * 物业预存款充值，支付成功回调
     * @param propertyBillPayCallBackDto
     * @return
     */
    @PostMapping("/propertyBillPay/propertyPrepaymentFeePaySuccessCallBack")
    R propertyPrepaymentFeePaySuccessCallBack(@RequestBody PropertyBillPayCallBackDto propertyBillPayCallBackDto);

}
