package com.vincent.rsf.openApi.feign.wms; import com.alibaba.fastjson.JSONObject; import com.vincent.rsf.framework.common.R; import com.vincent.rsf.openApi.entity.constant.WmsConstant; import com.vincent.rsf.openApi.entity.phyz.InventoryQueryCondition; import com.vincent.rsf.openApi.feign.wms.fallback.WmsServerFeignClientFallback; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; /** * WMS Server模块Feign客户端 * 用于调用rsf-server模块的接口 * * 注意:url配置从application.yml中读取platform.wms.host和platform.wms.port * 如果open-api和server在同一应用中运行,可以配置为本地地址 * 如果分开部署,url应该配置为server模块的实际地址,如:http://127.0.0.1:8085 */ @FeignClient( name = "wms-server", url = "${platform.wms.host:http://127.0.0.1}:${platform.wms.port:8085}", path = "", fallback = WmsServerFeignClientFallback.class ) public interface WmsServerFeignClient { /** * 库存查询明细(调用server端的erpQueryInventoryDetails方法) * @param condition 查询条件实体类 * @return 库存明细列表 */ @PostMapping(WmsConstant.QUERY_INVENTORY_DETAILS) R queryInventoryDetails(@RequestBody InventoryQueryCondition condition); /** * 库存查询汇总(调用server端的erpQueryInventorySummary方法) * @param condition 查询条件实体类 * @return 库存汇总列表 */ @PostMapping(WmsConstant.QUERY_INVENTORY_SUMMARY) R queryInventorySummary(@RequestBody InventoryQueryCondition condition); /** * 空托出库 * * @param param * @return */ @PostMapping(WmsConstant.EMPTY_PALLET_OUTBOUND) R callForEmptyContainers(@RequestBody JSONObject param); /** * 空托入库 * * @param param * @return */ @PostMapping(WmsConstant.EMPTY_PALLET_INBOUND) R emptyContainerWarehousing(@RequestBody JSONObject param); /** * mes下发agv运输任务 * * @param param * @return */ @PostMapping(WmsConstant.MES_ADD_TRANSFER_TASK) R mesAddTask(@RequestBody JSONObject param); /** * mes取消agv运输任务 * * @param param * @return */ @PostMapping(WmsConstant.MES_CANCEL_TRANSFER_TASK) R mesCancelTask(@RequestBody JSONObject param); }