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

import com.huaheng.common.core.config.SupportAutoConfiguration;
import com.huaheng.common.core.constant.ServiceNameConstants;
import com.huaheng.config.api.domain.Location;
import com.huaheng.config.api.factory.RemoteLocationFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

@FeignClient(contextId = "RemoteLocationService", value = ServiceNameConstants.CONFIG_SERVICE,
        fallbackFactory = RemoteLocationFallbackFactory.class, configuration = SupportAutoConfiguration.class)
public interface RemoteLocationService {

    /**
     * 查询库位
     * @return
     */
    @GetMapping("/location/getLocationByCode")
    Location getLocationByCode(@RequestParam(value = "locationCode")String locationCode);

    /**
     * 查询可用库位
     * @return
     */
    @GetMapping("/location/pickLocation")
    List<Location> pickLocation();

    /**
     * 查询库位
     * @return
     */
    @GetMapping("/location/getLocationByContainerCode")
    Location getLocationByContainerCode(@RequestParam(value = "containerCode")String containerCode);

    @PutMapping("/location/updateStatus")
    boolean updateStatus(@RequestParam(value = "code") String code, @RequestParam(value = "status") String status);

    @PutMapping("/location/updateContainerCodeAndStatus")
    boolean updateContainerCodeAndStatus(@RequestParam(value = "code") String code, @RequestParam(value = "containerCode") String containerCode, @RequestParam(value = "status") String status);

    @GetMapping("/location/executeRules")
    Location executeRules(@RequestParam("rules") String rules);

    @GetMapping("/location/emptyLocation")
    List<Location> emptyLocation();


}