package com.ruoyi.system.api.feignClient; import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.constant.ServiceNameConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.system.api.domain.CouponMember; import com.ruoyi.system.api.domain.PromotionVideo; import com.ruoyi.system.api.domain.PromotionWishRecommend; import com.ruoyi.system.api.domain.dto.CouponMemberDTO; import com.ruoyi.system.api.factory.PromotionFallbackFactory; import java.util.List; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestParam; @FeignClient(contextId = "promotionClient", value = ServiceNameConstants.RUOYI_PROMOTION, fallbackFactory = PromotionFallbackFactory.class) public interface PromotionClient { @PostMapping("/promotion-video/getPromotionVideoList") R> getPromotionVideoList( @RequestHeader(SecurityConstants.FROM_SOURCE) String source); @PostMapping("/promotion-video/getPromotionVideoOne") R getPromotionVideoOne(Long promotionVideoId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); @PostMapping("/coupon-member/getCouponMember") R getCouponMember(@RequestBody CouponMemberDTO couponMemberDTO, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); @PostMapping("/coupon-member/updCouponMember") R updCouponMember(@RequestBody CouponMemberDTO couponMemberDTO, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); /** * 获取推荐商品 * @param id * @param source * @return */ @GetMapping("/inner/promotion-wish-recommend/{id}") R getPromotionWishRecommend(@PathVariable("id") Long id, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); /** * 扣减推荐商品库存 * @param goodsQuantity * @param id * @return */ @PostMapping("/inner/promotion-wish-recommend/subAvailableNum") R subRecommendAvailableNum(@RequestParam("goodsQuantity") Integer goodsQuantity, @RequestParam("id") Long id, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); @PostMapping("/inner/promotion-wish-recommend/addAvailableNum") R addRecommendAvailableNum(@RequestParam("goodsQuantity") Integer goodsQuantity, @RequestParam("id") Long id, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); }