mitao
2025-03-14 392b42c4891cf2e6beda57ab32c51598f290f4b7
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java
@@ -1,27 +1,179 @@
package com.ruoyi.system.api.feignClient;
import com.ruoyi.common.core.constant.ServiceNameConstants;;
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.GoodsBrand;
import com.ruoyi.system.api.domain.GoodsCategory;
import com.ruoyi.system.api.domain.GoodsFlavorType;
import com.ruoyi.system.api.domain.GoodsGroupPurchase;
import com.ruoyi.system.api.domain.GoodsGroupPurchaseInfo;
import com.ruoyi.system.api.domain.GoodsSeckill;
import com.ruoyi.system.api.domain.GoodsSeries;
import com.ruoyi.system.api.domain.GoodsSku;
import com.ruoyi.system.api.domain.Order;
import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO;
import com.ruoyi.system.api.domain.vo.GoodsInfoTitleValueVO;
import com.ruoyi.system.api.factory.GoodsSkuFactory;
import com.ruoyi.system.api.factory.SysUserFallbackFactory;
import java.util.Collection;
import java.util.List;
import java.util.Set;
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.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
;
@FeignClient(contextId = "GoodsSkuClient", value = ServiceNameConstants.RUOYI_GOODS, fallbackFactory = GoodsSkuFactory.class)
public interface GoodsSkuClient {
    @PostMapping("/goods-sku/getGoodsSkuOne")
    R<GoodsSku> getGoodsSkuOne(@RequestBody Long goodsSkuId);
    R<GoodsSku> getGoodsSkuOne(@RequestBody Long goodsSkuId,
            @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    @PostMapping("/goods-info-title-value/getlistByGoodsId")
    R<List<GoodsInfoTitleValueVO>> getlistByGoodsId(@RequestBody Long goodsSkuId,
                                                    @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    @PostMapping("/goods-info-title-value/getlistByGoodsId1")
    R<List<GoodsInfoTitleValueVO>> getlistByGoodsId1(@RequestBody Long goodsSkuId,
                                                    @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    @PostMapping("/goods-category/getCategoryOne")
    R<GoodsCategory> getCategoryOne(@RequestBody Long categoryId,
            @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    @PostMapping("/goods-series/getSeriesOne")
    R<GoodsSeries> getSeriesOne(@RequestBody Long seriesId,
                                @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    @PostMapping("/goods-brand/getBrandOne")
    R<GoodsBrand> getBrandOne(@RequestBody Long brandId,
                              @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    @PostMapping("/goods-flavor-type/getFlavorTypeOne")
    R<GoodsFlavorType> getFlavorTypeOne(@RequestBody Long flavorTypeId,
                                        @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    @PostMapping("/goods-group-purchase/getGoodsSeckiGoodsGroupPurchaseOne")
    R<GoodsGroupPurchase> getGoodsSeckiGoodsGroupPurchaseOne(@RequestBody Long goodsSkuId,
                                             @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    @PostMapping("/goods-group-purchase/getGoodsSeckiGoodsGroupPurchaseInfo")
    R<GoodsGroupPurchaseInfo> getGoodsSeckiGoodsGroupPurchaseInfo(@RequestBody Long goodsSkuId,
                                                             @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    @PostMapping("/goods-group-purchase/getGoodsSeckiGoodsGroupPurchaseInfo2")
    R<GoodsGroupPurchaseInfo> getGoodsSeckiGoodsGroupPurchaseInfo2(@RequestBody String goodsSkuId,
                                                                  @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    @PostMapping("/goods-group-purchase/getGoodsSeckiGoodsGroupPurchaseInfo1")
    R<GoodsGroupPurchaseInfo> getGoodsSeckiGoodsGroupPurchaseInfo1(@RequestBody GoodsGroupPurchaseInfo goodsGroupPurchaseInfo,
                                                                  @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    @PostMapping("/goods-group-purchase/updgoodsGroupPurchaseInfo")
    R<?> updgoodsGroupPurchaseInfo(@RequestBody GoodsGroupPurchaseInfo goodsGroupPurchaseInfo,
                        @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    @PostMapping("/goods-group-purchase/updgoodsGroupPurchaseInfo1")
    R<?> updgoodsGroupPurchaseInfo1(@RequestBody GoodsGroupPurchaseInfo goodsGroupPurchaseInfo,
                                   @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    @PostMapping("/goods-seckill/getGoodsSeckillOne")
    R<GoodsSeckill> getGoodsSeckillOne(@RequestBody Long goodsSkuId,
                                       @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    @PostMapping("/goods-sku/updateGoodsSkuOne")
    R<Boolean> updateGoodsSkuOne(@RequestBody GoodsSku goodsSku);
    R<Boolean> updateGoodsSkuOne(@RequestBody GoodsSku goodsSku,
            @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    @PutMapping("/goods-sku/updGoods")
    R<Boolean> updGoods(@RequestBody GoodsSku goodsSku,
                                 @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    @PutMapping("/goods-seckill/updGoodsSeckill1")
    R<Boolean> updGoodsSeckill1(@RequestBody GoodsSku goodsSku,
                        @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    @GetMapping("/goods-group-purchase/num/{groupPurchaseId}")
    R<?> GroupPurchaseNum(@PathVariable("groupPurchaseId") Long groupPurchaseId,
                            @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    @GetMapping("/goods-group-purchase/num1/{groupPurchaseId}")
    R<?> GroupPurchaseNum1(@PathVariable("groupPurchaseId") Long groupPurchaseId,
                          @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    @GetMapping("/goods-seckill/start/{seckillId}")
    R<?> startSeckill(@PathVariable("seckillId") Long seckillId,
            @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    @GetMapping("/goods-seckill/end/{seckillId}")
    R<?> endSeckill(@PathVariable("seckillId") Long seckillId,
            @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    @GetMapping("/goods-group-purchase/start/{groupPurchaseId}")
    R<?> startGroupPurchase(@PathVariable("groupPurchaseId") Long groupPurchaseId,
            @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    @GetMapping("/member-goods-collection/tusonUser/{tusonUserId}")
    R<?> tusonUser(@PathVariable("tusonUserId") Long tusonUserIdId,
                            @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    @GetMapping("/goods-group-purchase/end/{groupPurchaseId}")
    R<?> endGroupPurchase(@PathVariable("groupPurchaseId") Long groupPurchaseId,
            @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    @GetMapping("/goods-sku/name/{goodsSkuName}")
    R<List<GoodsSku>> getGoodsByName(@PathVariable("goodsSkuName") String goodsSkuName,
            @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    /**
     * 批量更新商品库存 auctionStock 负数则为减库存,正数为加库存
     *
     * @param goodsStockUpdDTOS 商品库存修改数据传输对象
     * @param source            请求来源
     */
    @PutMapping("/goods-sku/upd-stock")
    R<?> updGoodsStock(@RequestBody List<GoodsStockUpdDTO> goodsStockUpdDTOS,
            @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    @PutMapping("/goods-sku/upd-stock1")
    R<?> updGoodsStock1(@RequestBody GoodsStockUpdDTO goodsStockUpdDTOS,
                       @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    @PutMapping("/goods-seckill/updGoodsSeckill")
    R<?> updGoodsSeckill(@RequestBody GoodsStockUpdDTO goodsStockUpdDTOS,
                       @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    /**
     * 根据商品id集合查询商品
     *
     * @param goodsIdList 商品id集合
     * @param source      请求来源
     * @return 商品集合
     */
    @PostMapping("/goods-sku/list")
    R<List<GoodsSku>> getGoodsListByIds(@RequestBody Collection<Long> goodsIdList,
            @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    @PostMapping("/goods-sku/returnStockByOrder")
    R<?> returnStockByOrder(@RequestBody Order order,
            @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    /**
     * 通过秒杀商品id列表查询商品信息
     *
     * @param seckillIdSet
     * @param source
     * @return
     */
    @PostMapping("/goods-seckill/getGoodsSkuBySeckillIdSet")
    R<List<GoodsSku>> getGoodsSkuBySeckillIdSet(@RequestBody Set<Long> seckillIdSet,
            @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
    @PostMapping("/goods-group-purchase/getGoodsSkuByGroupPurchaseIdSet")
    R<List<GoodsSku>> getGoodsSkuByGroupPurchaseIdSet(@RequestBody Set<Long> groupPurchaseIdSet,
            @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
}