package com.mzl.flower.web.warehouse; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.mzl.flower.base.BaseController; import com.mzl.flower.base.R; import com.mzl.flower.base.ReturnDataDTO; import com.mzl.flower.dto.response.warehouse.WarehouseLocationDTO; import com.mzl.flower.entity.payment.Order; import com.mzl.flower.entity.warehouse.Warehouse; import com.mzl.flower.entity.warehouse.WarehouseLocation; import com.mzl.flower.service.payment.OrderService; import com.mzl.flower.service.warehouse.WarehouseService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.validation.constraints.NotNull; import java.util.List; @RestController @RequestMapping("/api/warehouse") @Api(value = "运营-库区/库位管理", tags = "运营-库区/库位管理") @Validated @Slf4j public class WarehouseController extends BaseController { private final WarehouseService warehouseService; private final OrderService orderService; public WarehouseController(WarehouseService warehouseService, OrderService orderService) { this.warehouseService = warehouseService; this.orderService = orderService; } @PostMapping("/list/new") @ApiOperation(value = "新增库区", notes = "新增库区") public ResponseEntity add(@Validated @RequestBody Warehouse dto) { warehouseService.addWarehouse(dto); return returnData(R.SUCCESS.getCode(),null); } @PostMapping("/list/edit") @ApiOperation(value = "修改库区", notes = "修改库区") public ResponseEntity update(@Validated @RequestBody Warehouse dto) { warehouseService.updateWarehouse(dto); return returnData(R.SUCCESS.getCode(),null); } @GetMapping("/list/delete") @ApiOperation(value = "删除库区", notes = "删除库区") public ResponseEntity delete(@NotNull(message = "id不能为空") Long id) { warehouseService.deleteWarehouse(id); return returnData(R.SUCCESS.getCode(),null); } @GetMapping("/list") @ApiOperation(value = "查询库区", notes = "查询库区") public ResponseEntity>> queryWarehouse() { return returnData(R.SUCCESS.getCode(), warehouseService.queryWarehouse()); } @PostMapping("/location/list/new") @ApiOperation(value = "新增库位", notes = "新增库位") public ResponseEntity addWarehouseLocation(@Validated @RequestBody WarehouseLocation dto) { warehouseService.addWarehouseLocation(dto); return returnData(R.SUCCESS.getCode(),null); } @PostMapping("/location/list/edit") @ApiOperation(value = "修改库位", notes = "修改库位") public ResponseEntity updateWarehouseLocation(@Validated @RequestBody WarehouseLocation dto) { warehouseService.updateWarehouseLocation(dto); return returnData(R.SUCCESS.getCode(),null); } @GetMapping("/location/list/delete") @ApiOperation(value = "删除库位", notes = "删除库位") public ResponseEntity deleteWarehouseLocation(@NotNull(message = "id不能为空") Long id) { warehouseService.deleteWarehouseLocation(id); return returnData(R.SUCCESS.getCode(),null); } @GetMapping("/location/list") @ApiOperation(value = "查询库位", notes = "查询库位") public ResponseEntity>> queryWarehouseLocation(Long warehouseId, String code) { return returnData(R.SUCCESS.getCode(), warehouseService.queryWarehouseLocation(warehouseId,code)); } @GetMapping("/location/list/addOrder") @ApiOperation(value = "手动添加订单", notes = "手动添加订单") public ResponseEntity addOrder(Long warehouseLocationId, String orderId) { orderService.addOrder(warehouseLocationId,orderId); return returnData(R.SUCCESS.getCode(), null); } @GetMapping("/location/list/orders") @ApiOperation(value = "查询未分配库位的订单列表", notes = "查询未分配库位的订单列表") public ResponseEntity>> unAllocatedWarehouseLocationOrder(String orderNo, Long partnerId, Page page) { return returnData(R.SUCCESS.getCode(), orderService.unAllocatedWarehouseLocationOrder(orderNo,partnerId,page)); } }