package com.ruoyi.fakeWarehousing.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.fakeWarehousing.dto.FakeDeliveryTrackDto; import com.ruoyi.fakeWarehousing.pojo.FakeDeliveryTrack; import com.ruoyi.fakeWarehousing.service.IFakeDeliveryTrackService; import com.ruoyi.framework.aspectj.lang.annotation.Log; import com.ruoyi.framework.aspectj.lang.enums.BusinessType; import com.ruoyi.framework.web.domain.R; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.Arrays; /** * 发货跟踪管理控制器 * 基础路径:/fakeWarehousing/deliveryTrack */ @Api(tags = "发货跟踪管理接口") @RestController @RequiredArgsConstructor @RequestMapping("/fakeWarehousing/deliveryTrack") public class FakeDeliveryTrackController { private final IFakeDeliveryTrackService fakeDeliveryTrackService; /** * 分页查询发货跟踪列表 * * @param page 分页参数 * @param track 查询条件 * @return 分页结果 */ @GetMapping("/list") @ApiOperation(value = "分页查询发货跟踪列表", notes = "分页查询发货跟踪列表") public IPage list(Page page, FakeDeliveryTrackDto trackDto) { return fakeDeliveryTrackService.selectAll(page, trackDto); } /** * 根据ID查询发货跟踪详情 * * @param id 发货跟踪主键ID * @return 发货跟踪详情 */ @GetMapping("/{id}") @ApiOperation(value = "根据ID查询发货跟踪详情", notes = "根据ID查询发货跟踪详情") public R getInfo(@PathVariable Long id) { return R.ok(fakeDeliveryTrackService.getById(id)); } /** * 新增发货跟踪记录 * * @param track 发货跟踪实体(含订单关联信息、发货信息等核心字段) * @return 操作结果 */ @Log(title = "新增发货跟踪记录", businessType = BusinessType.INSERT) @PostMapping @ApiOperation(value = "新增发货跟踪记录", notes = "新增发货跟踪记录") public R add(@RequestBody FakeDeliveryTrack track) { return R.ok(fakeDeliveryTrackService.saveDetail(track)); } /** * 修改发货跟踪记录 * * @param track 发货跟踪实体(必须包含主键ID) * @return 操作结果 */ @Log(title = "修改发货跟踪记录", businessType = BusinessType.UPDATE) @PutMapping @ApiOperation(value = "修改发货跟踪记录", notes = "修改发货跟踪记录") public R edit(@RequestBody FakeDeliveryTrack track) { if (track.getId() == null) { return R.fail("修改失败,发货跟踪ID不能为空"); } return R.ok(fakeDeliveryTrackService.updateById(track)); } /** * 删除发货跟踪记录(支持单条/多条删除) * * @param ids 发货跟踪主键ID数组 * @return 操作结果 */ @Log(title = "发货跟踪管理", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") @ApiOperation(value = "删除发货跟踪记录", notes = "删除发货跟踪记录(支持单条/多条)") public R remove(@PathVariable Long[] ids) { return R.ok(fakeDeliveryTrackService.removeByIds(Arrays.asList(ids))); } }