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));
|
}
|
|
|
}
|