package com.xiaopeng.api.feignClient.account; import com.xiaopeng.api.dto.account.GetUserCouponDto; import com.xiaopeng.api.dto.account.UseUserCouponDto; import com.xiaopeng.api.factory.account.XpAppUserCouponClientFallbackFactory; import com.xiaopeng.api.model.account.XpAppUserCoupon; import com.xiaopeng.api.vo.account.AppUserCouponSaveBatchVo; import com.xiaopeng.api.vo.account.CalculateDiscountAmountVo; import com.xiaopeng.api.vo.account.UserCouponVo; import com.xiaopeng.common.core.domain.R; import com.xiaopeng.common.core.dto.ServiceNameConstantsEnum; import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import java.math.BigDecimal; import java.util.List; /** * 小程序用户Feign客户端 * * @author mitao */ @FeignClient(contextId = "XpAppUserCouponClient", value = ServiceNameConstantsEnum.XP_ACCOUNT_SERVICE, fallbackFactory = XpAppUserCouponClientFallbackFactory.class) public interface XpAppUserCouponClient { @PostMapping("/logan/inner/appUserCoupon/getUserCoupon") R getUserCoupon(@RequestBody GetUserCouponDto dto); @PostMapping("/logan/inner/appUserCoupon/useUserCoupon") R useUserCoupon(@RequestBody UseUserCouponDto dto); /** * 退回用户的优惠卷 * * @param dto * @return */ @PostMapping("/logan/inner/appUserCoupon/backUserCoupon") R backUserCoupon(@RequestBody UseUserCouponDto dto); @GetMapping("/logan/inner/appUserCoupon/holding") boolean isHolding(Long id); /** * userIds 、couponId、activityId、activityName、activityStartTime、activityEndTime、activityRemarks * * @param dto * @return */ @PostMapping("/api/v1/appUserCoupon/saveInfo_activity") @ApiOperation(value = "活动发放优惠券", tags = {"管理后台-活动发放优惠券"}) R saveInfo_activity(@RequestBody UseUserCouponDto dto); /** * 获取用户活动领取的优惠券 * * @return */ @PostMapping("/logan/inner/appUserCoupon/getXpAppUserCoupon") R> getXpAppUserCoupon(@RequestParam Long activityId); /** * 计算优惠金额 * * @param vo * @return */ @PostMapping("/logan/inner/appUserCoupon/calculateDiscountAmount") R calculateDiscountAmount(@RequestParam CalculateDiscountAmountVo vo); /** * 批量保存数据 * @param vo * @return */ @PostMapping("/logan/inner/appUserCoupon/saveBatch") R saveBatch(@RequestBody AppUserCouponSaveBatchVo vo); }