diff --git a/src/main/java/com/ycwl/basic/controller/mobile/AppPrinterController.java b/src/main/java/com/ycwl/basic/controller/mobile/AppPrinterController.java index 20cb34b9..b45e38ff 100644 --- a/src/main/java/com/ycwl/basic/controller/mobile/AppPrinterController.java +++ b/src/main/java/com/ycwl/basic/controller/mobile/AppPrinterController.java @@ -36,6 +36,12 @@ public class AppPrinterController { return ApiResponse.success(printerService.listByScenicId(scenicId)); } + @PostMapping("/useSample/{sampleId}") + public ApiResponse useSample(@PathVariable("sampleId") Long sampleId) throws IOException { + JwtInfo worker = JwtTokenUtil.getWorker(); + return ApiResponse.success(printerService.useSample(worker.getUserId(), sampleId)); + } + @GetMapping("/getListFor/{scenicId}") public ApiResponse> getListFor(@PathVariable("scenicId") Long scenicId, @RequestParam(required = false) String faceId) { JwtInfo worker = JwtTokenUtil.getWorker(); diff --git a/src/main/java/com/ycwl/basic/service/printer/PrinterService.java b/src/main/java/com/ycwl/basic/service/printer/PrinterService.java index 1b1081aa..f9571c3b 100644 --- a/src/main/java/com/ycwl/basic/service/printer/PrinterService.java +++ b/src/main/java/com/ycwl/basic/service/printer/PrinterService.java @@ -55,4 +55,6 @@ public interface PrinterService { void batchSetUserPhotoListToPrinter(Long memberId, Long scenicId, Integer printerId); void setUserIsBuyItem(Long memberId, Long id, Long orderId); + + Object useSample(Long userId, Long sampleId); } \ No newline at end of file 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 68e643d7..6bb82bc2 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 @@ -18,6 +18,7 @@ import com.ycwl.basic.mapper.PrinterMapper; import com.ycwl.basic.mapper.SourceMapper; import com.ycwl.basic.model.mobile.order.PriceObj; import com.ycwl.basic.model.pc.member.resp.MemberRespVO; +import com.ycwl.basic.model.pc.mp.MpConfigEntity; import com.ycwl.basic.model.pc.order.entity.OrderEntity; import com.ycwl.basic.model.pc.order.entity.OrderItemEntity; import com.ycwl.basic.pricing.dto.PriceCalculationRequest; @@ -36,6 +37,7 @@ import com.ycwl.basic.model.printer.req.PrinterSyncReq; import com.ycwl.basic.model.printer.req.WorkerAuthReqVo; import com.ycwl.basic.model.printer.resp.PrintTaskResp; import com.ycwl.basic.model.wx.WXPayOrderReqVO; +import com.ycwl.basic.repository.OrderRepository; import com.ycwl.basic.repository.ScenicRepository; import com.ycwl.basic.service.mobile.WxPayService; import com.ycwl.basic.service.printer.PrinterService; @@ -46,6 +48,7 @@ import com.ycwl.basic.utils.ApiResponse; import com.ycwl.basic.utils.ImageUtils; import com.ycwl.basic.utils.JacksonUtil; import com.ycwl.basic.utils.SnowFlakeUtil; +import com.ycwl.basic.utils.WxMpUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.Strings; @@ -92,6 +95,8 @@ public class PrinterServiceImpl implements PrinterService { private IPriceCalculationService priceCalculationService; @Autowired private ScenicRepository scenicRepository; + @Autowired + private OrderRepository orderRepository; @Override public List listByScenicId(Long scenicId) { @@ -571,6 +576,14 @@ public class PrinterServiceImpl implements PrinterService { printerMapper.setUserIsBuyItem(memberId, id, orderId); // 创建打印任务 List userPhotoListByOrderId = getUserPhotoListByOrderId(orderId); + File qrCodeFile = new File("qrCodeFile" + orderId + ".png"); + OrderEntity order = orderRepository.getOrder(orderId); + MpConfigEntity scenicMpConfig = scenicRepository.getScenicMpConfig(order.getScenicId()); + try { + WxMpUtil.generateWXAQRCode(scenicMpConfig.getAppId(), scenicMpConfig.getAppSecret(), scenicMpConfig.getState(), "pages/my/orderDetailNew?id="+orderId, "qrCodeFile" + orderId + ".png"); + } catch (Exception e) { + throw new RuntimeException(e); + } userPhotoListByOrderId.forEach(item -> { PrinterEntity printer = printerMapper.getById(item.getPrinterId()); @@ -627,6 +640,9 @@ public class PrinterServiceImpl implements PrinterService { WatermarkInfo watermarkInfo = new WatermarkInfo(); watermarkInfo.setOriginalFile(needRotation ? rotatedOriginalFile : originalFile); watermarkInfo.setWatermarkedFile(watermarkedFile); + watermarkInfo.setQrcodeFile(qrCodeFile); + watermarkInfo.setDatetime(new Date()); + watermarkInfo.setDtFormat("yyyy-MM-dd"); operator.process(watermarkInfo); @@ -698,6 +714,11 @@ public class PrinterServiceImpl implements PrinterService { }); } + @Override + public Object useSample(Long userId, Long sampleId) { + return null; + } + /** * 获取下一个要使用的打印机名称(轮询逻辑) *