RemoteContainerService.java 1.87 KB
package com.huaheng.config.api;

import com.huaheng.common.core.config.FeignTokenInterceptor;
import com.huaheng.common.core.constant.ServiceNameConstants;
import com.huaheng.config.api.domain.Container;
import com.huaheng.config.api.domain.Location;
import com.huaheng.config.api.factory.RemoteContainerFallbackFactory;
import lombok.val;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@FeignClient(contextId = "RemoteContainerService", value = ServiceNameConstants.CONFIG_SERVICE,
        fallbackFactory = RemoteContainerFallbackFactory.class, configuration = FeignTokenInterceptor.class)
public interface RemoteContainerService {

    @GetMapping("/container/getContainerByCode")
    Container getContainerByCode(@RequestParam(value = "code")String code);

    @GetMapping("/container/getList")
    List<Container> getList();

    @DeleteMapping("/container/removeContainer")
    void removeContainer(@RequestParam(value = "containType") String containType, @RequestParam(value = "containCode") String containCode);

    @PostMapping("/container")
    boolean save(Container container);

    @PutMapping("/container/updateStatus")
    void updateStatus(@RequestParam(value = "containerCode") String containerCode, @RequestParam(value = "status")String status);

    @PutMapping("/container/updateLocationCodeAndStatus")
    void updateLocationCodeAndStatus(@RequestParam(value = "containerCode") String containerCode, @RequestParam(value = "locationCode")String locationCode, @RequestParam(value = "status")String status);

    @GetMapping("/container/getEmptyContainerInLocation")
    List<Location> getEmptyContainerInLocation(@RequestParam(value = "containerCode") String containerCode, @RequestParam(value = "locationCode") String locationCode);

    @DeleteMapping("/container")
    boolean removeById(Integer id);
}