| 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<ReturnDataDTO> add(@Validated @RequestBody Warehouse dto) { | 
|         warehouseService.addWarehouse(dto); | 
|         return returnData(R.SUCCESS.getCode(),null); | 
|     } | 
|   | 
|     @PostMapping("/list/edit") | 
|     @ApiOperation(value = "修改库区", notes = "修改库区") | 
|     public ResponseEntity<ReturnDataDTO> update(@Validated @RequestBody Warehouse dto) { | 
|         warehouseService.updateWarehouse(dto); | 
|         return returnData(R.SUCCESS.getCode(),null); | 
|     } | 
|   | 
|     @GetMapping("/list/delete") | 
|     @ApiOperation(value = "删除库区", notes = "删除库区") | 
|     public ResponseEntity<ReturnDataDTO> delete(@NotNull(message = "id不能为空") Long id) { | 
|         warehouseService.deleteWarehouse(id); | 
|         return returnData(R.SUCCESS.getCode(),null); | 
|     } | 
|   | 
|     @GetMapping("/list") | 
|     @ApiOperation(value = "查询库区", notes = "查询库区") | 
|     public ResponseEntity<ReturnDataDTO<List<Warehouse>>> queryWarehouse() { | 
|         return returnData(R.SUCCESS.getCode(), warehouseService.queryWarehouse()); | 
|     } | 
|   | 
|     @PostMapping("/location/list/new") | 
|     @ApiOperation(value = "新增库位", notes = "新增库位") | 
|     public ResponseEntity<ReturnDataDTO> addWarehouseLocation(@Validated @RequestBody WarehouseLocation dto) { | 
|         warehouseService.addWarehouseLocation(dto); | 
|         return returnData(R.SUCCESS.getCode(),null); | 
|     } | 
|   | 
|     @PostMapping("/location/list/edit") | 
|     @ApiOperation(value = "修改库位", notes = "修改库位") | 
|     public ResponseEntity<ReturnDataDTO> updateWarehouseLocation(@Validated @RequestBody WarehouseLocation dto) { | 
|         warehouseService.updateWarehouseLocation(dto); | 
|         return returnData(R.SUCCESS.getCode(),null); | 
|     } | 
|   | 
|     @GetMapping("/location/list/delete") | 
|     @ApiOperation(value = "删除库位", notes = "删除库位") | 
|     public ResponseEntity<ReturnDataDTO> deleteWarehouseLocation(@NotNull(message = "id不能为空") Long id) { | 
|         warehouseService.deleteWarehouseLocation(id); | 
|         return returnData(R.SUCCESS.getCode(),null); | 
|     } | 
|   | 
|     @GetMapping("/location/list") | 
|     @ApiOperation(value = "查询库位", notes = "查询库位") | 
|     public ResponseEntity<ReturnDataDTO<List<WarehouseLocationDTO>>> queryWarehouseLocation(Long warehouseId, String code) { | 
|         return returnData(R.SUCCESS.getCode(), warehouseService.queryWarehouseLocation(warehouseId,code)); | 
|     } | 
|   | 
|     @GetMapping("/location/list/addOrder") | 
|     @ApiOperation(value = "手动添加订单", notes = "手动添加订单") | 
|     public ResponseEntity<ReturnDataDTO> addOrder(Long warehouseLocationId, String orderId) { | 
|         orderService.addOrder(warehouseLocationId,orderId); | 
|         return returnData(R.SUCCESS.getCode(), null); | 
|     } | 
|   | 
|   | 
|     @GetMapping("/location/list/orders") | 
|     @ApiOperation(value = "查询未分配库位的订单列表", notes = "查询未分配库位的订单列表") | 
|     public ResponseEntity<ReturnDataDTO<IPage<Order>>> unAllocatedWarehouseLocationOrder(String orderNo, Long partnerId, Page page) { | 
|         return returnData(R.SUCCESS.getCode(), orderService.unAllocatedWarehouseLocationOrder(orderNo,partnerId,page)); | 
|     } | 
|   | 
|   | 
| } |