From 2a662ae86dcb0f26c74688331f3c32834eac7342 Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Mon, 27 Oct 2025 13:58:59 +0800 Subject: [PATCH] =?UTF-8?q?feat(printer):=20=E6=B7=BB=E5=8A=A0=E6=89=93?= =?UTF-8?q?=E5=8D=B0=E4=BB=BB=E5=8A=A1=E5=88=86=E9=A1=B5=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=92=8C=E9=87=8D=E6=96=B0=E6=89=93=E5=8D=B0=E5=8A=9F=E8=83=BD?= =?UTF-8?q?-=20=E5=BC=95=E5=85=A5=20PageHelper=20=E5=92=8C=20PageInfo=20?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E5=88=86=E9=A1=B5=E6=9F=A5=E8=AF=A2=20-=20?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=20PrintTaskMapper=20=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=96=B9=E6=B3=95=20queryByCondition=20=E5=92=8C=20updateStatu?= =?UTF-8?q?s=20-=20=E6=89=A9=E5=B1=95=20PrintTaskEntity=20=E5=AE=9E?= =?UTF-8?q?=E4=BD=93=E7=B1=BB=EF=BC=8C=E6=96=B0=E5=A2=9E=20mpId=20?= =?UTF-8?q?=E5=92=8C=20paper=20=E5=AD=97=E6=AE=B5-=20=E5=9C=A8=20PrinterCo?= =?UTF-8?q?ntroller=20=E4=B8=AD=E6=96=B0=E5=A2=9E=20/task/page=20=E5=92=8C?= =?UTF-8?q?=20/task/reprint/{id}=20=E6=8E=A5=E5=8F=A3-=20=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=20PrintTaskMapper.xml=EF=BC=8C=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=92=8C=E6=9B=B4=E6=96=B0=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E7=9A=84=20SQL=E8=AF=AD=E5=8F=A5-=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E6=89=93=E5=8D=B0=E4=BB=BB=E5=8A=A1=E6=8F=92=E5=85=A5=E9=80=BB?= =?UTF-8?q?=E8=BE=91=EF=BC=8C=E8=A1=A5=E5=85=85=20mpId=20=E5=92=8C=20paper?= =?UTF-8?q?=20=E5=AD=97=E6=AE=B5=E8=B5=8B=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/pc/PrinterController.java | 24 +++++++++++++++++++ .../ycwl/basic/mapper/PrintTaskMapper.java | 7 ++++++ .../pc/printer/entity/PrintTaskEntity.java | 2 ++ .../pc/printer/req/PrintTaskReqQuery.java | 19 +++++++++++++++ .../printer/impl/PrinterServiceImpl.java | 2 ++ src/main/resources/mapper/PrintTaskMapper.xml | 23 ++++++++++++++++-- 6 files changed, 75 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/ycwl/basic/model/pc/printer/req/PrintTaskReqQuery.java diff --git a/src/main/java/com/ycwl/basic/controller/pc/PrinterController.java b/src/main/java/com/ycwl/basic/controller/pc/PrinterController.java index f1d3cf49..050bf69b 100644 --- a/src/main/java/com/ycwl/basic/controller/pc/PrinterController.java +++ b/src/main/java/com/ycwl/basic/controller/pc/PrinterController.java @@ -1,6 +1,11 @@ package com.ycwl.basic.controller.pc; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.ycwl.basic.mapper.PrintTaskMapper; +import com.ycwl.basic.model.pc.printer.entity.PrintTaskEntity; import com.ycwl.basic.model.pc.printer.entity.PrinterEntity; +import com.ycwl.basic.model.pc.printer.req.PrintTaskReqQuery; import com.ycwl.basic.service.printer.PrinterService; import com.ycwl.basic.utils.ApiResponse; import org.springframework.beans.factory.annotation.Autowired; @@ -20,6 +25,9 @@ public class PrinterController { @Autowired private PrinterService printerService; + @Autowired + private PrintTaskMapper printTaskMapper; + // 查询列表 @PostMapping("/list") public ApiResponse> list(@RequestBody PrinterEntity condition) { @@ -49,4 +57,20 @@ public class PrinterController { public ApiResponse delete(@PathVariable("id") Integer id) { return printerService.delete(id); } + + // 分页查询打印任务 + @PostMapping("/task/page") + public ApiResponse> taskPage(@RequestBody PrintTaskReqQuery req) { + PageHelper.startPage(req.getPageNum(), req.getPageSize()); + List list = printTaskMapper.queryByCondition(req.getPrinterId(), req.getStatus()); + PageInfo pageInfo = new PageInfo<>(list); + return ApiResponse.success(pageInfo); + } + + // 重新打印(将状态设置为0-未开始) + @PostMapping("/task/reprint/{id}") + public ApiResponse reprint(@PathVariable("id") Integer id) { + int result = printTaskMapper.updateStatus(id, 0); + return ApiResponse.success(result); + } } \ No newline at end of file diff --git a/src/main/java/com/ycwl/basic/mapper/PrintTaskMapper.java b/src/main/java/com/ycwl/basic/mapper/PrintTaskMapper.java index 85330d4f..81585ff8 100644 --- a/src/main/java/com/ycwl/basic/mapper/PrintTaskMapper.java +++ b/src/main/java/com/ycwl/basic/mapper/PrintTaskMapper.java @@ -3,8 +3,15 @@ package com.ycwl.basic.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ycwl.basic.model.pc.printer.entity.PrintTaskEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; @Mapper public interface PrintTaskMapper extends BaseMapper { int insertTask(PrintTaskEntity entity); + + List queryByCondition(@Param("printerId") Integer printerId, @Param("status") Integer status); + + int updateStatus(@Param("id") Integer id, @Param("status") Integer status); } diff --git a/src/main/java/com/ycwl/basic/model/pc/printer/entity/PrintTaskEntity.java b/src/main/java/com/ycwl/basic/model/pc/printer/entity/PrintTaskEntity.java index 777a036a..8c6ed372 100644 --- a/src/main/java/com/ycwl/basic/model/pc/printer/entity/PrintTaskEntity.java +++ b/src/main/java/com/ycwl/basic/model/pc/printer/entity/PrintTaskEntity.java @@ -28,6 +28,8 @@ public class PrintTaskEntity { @TableField("height") private Integer height; + private Integer mpId; + private String paper; @TableField("create_time") private Date createTime; diff --git a/src/main/java/com/ycwl/basic/model/pc/printer/req/PrintTaskReqQuery.java b/src/main/java/com/ycwl/basic/model/pc/printer/req/PrintTaskReqQuery.java new file mode 100644 index 00000000..3d0479ea --- /dev/null +++ b/src/main/java/com/ycwl/basic/model/pc/printer/req/PrintTaskReqQuery.java @@ -0,0 +1,19 @@ +package com.ycwl.basic.model.pc.printer.req; + +import com.ycwl.basic.model.common.BaseQueryParameterReq; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class PrintTaskReqQuery extends BaseQueryParameterReq { + /** + * 打印机ID + */ + private Integer printerId; + + /** + * 状态:0未开始,1已完成,2正在处理,3已失败 + */ + private Integer status; +} diff --git a/src/main/java/com/ycwl/basic/service/printer/impl/PrinterServiceImpl.java b/src/main/java/com/ycwl/basic/service/printer/impl/PrinterServiceImpl.java index 59a7ad4a..b7b32292 100644 --- a/src/main/java/com/ycwl/basic/service/printer/impl/PrinterServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/printer/impl/PrinterServiceImpl.java @@ -561,6 +561,8 @@ public class PrinterServiceImpl implements PrinterService { PrintTaskEntity task = new PrintTaskEntity(); task.setPrinterId(printer.getId()); + task.setMpId(item.getId()); + task.setPaper(printer.getPreferPaper()); task.setStatus(0); task.setUrl(printUrl); task.setHeight(printer.getPreferH()); diff --git a/src/main/resources/mapper/PrintTaskMapper.xml b/src/main/resources/mapper/PrintTaskMapper.xml index 40e20515..427a694a 100644 --- a/src/main/resources/mapper/PrintTaskMapper.xml +++ b/src/main/resources/mapper/PrintTaskMapper.xml @@ -2,7 +2,26 @@ - insert into print_task(printer_id, status, printer_name, url, width, height, create_time) - values (#{printerId}, 0, #{printerName}, #{url}, #{width}, #{height}, NOW()) + insert into print_task(printer_id, mp_id, paper, status, printer_name, url, width, height, create_time) + values (#{printerId}, #{mpId}, #{paper}, 0, #{printerName}, #{url}, #{width}, #{height}, NOW()) + + + + + update print_task + set status = #{status}, update_time = NOW() + where id = #{id} + \ No newline at end of file