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