diff --git a/src/main/java/com/ycwl/basic/service/pc/impl/OrderServiceImpl.java b/src/main/java/com/ycwl/basic/service/pc/impl/OrderServiceImpl.java index dcb4e2ed..24ede82e 100644 --- a/src/main/java/com/ycwl/basic/service/pc/impl/OrderServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/pc/impl/OrderServiceImpl.java @@ -70,6 +70,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.context.annotation.Scope; import org.springframework.context.annotation.ScopedProxyMode; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -140,6 +141,8 @@ public class OrderServiceImpl implements OrderService { private ICouponService iCouponService; @Autowired private MemberRelationRepository memberRelationRepository; + @Autowired + private RedisTemplate redisTemplate; @Override public ApiResponse> pageQuery(OrderReqQuery query) { @@ -583,9 +586,14 @@ public class OrderServiceImpl implements OrderService { if (orderAppRespVO != null && orderAppRespVO.getOrderItemList() != null && !orderAppRespVO.getOrderItemList().isEmpty()) { orderAppRespVO.getOrderItemList().forEach(orderItem -> { if (orderItem.getGoodsType() == 3) { - PrintTaskResp printTaskResp = printerMapper.queryTaskByMpId(Math.toIntExact(orderItem.getGoodsId())); - if (printTaskResp != null) { - orderItem.setPrinterPaper(printTaskResp.getPaper()); + String size = redisTemplate.opsForValue().get("printer_size:" + id); + if (size != null) { + orderItem.setPrinterPaper(size); + } else { + PrintTaskResp printTaskResp = printerMapper.queryTaskByMpId(Math.toIntExact(orderItem.getGoodsId())); + if (printTaskResp != null) { + orderItem.setPrinterPaper(printTaskResp.getPaper()); + } } } }); 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 bb65b2df..44f9302b 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 @@ -483,6 +483,7 @@ public class PrinterServiceImpl implements PrinterService { @Override public Map createOrder(Long memberId, Long scenicId, Integer printerId, Long faceId) { + PrinterEntity printer = null; if (printerId == null) { List printerList = printerMapper.listByScenicId(scenicId); if (printerList.size() != 1) { @@ -491,16 +492,16 @@ public class PrinterServiceImpl implements PrinterService { printerId = printerList.getFirst().getId(); } } else { - PrinterEntity printer = printerMapper.getById(printerId); - if (printer == null) { - throw new BaseException("打印机不存在"); - } - if (printer.getStatus() != 1) { - throw new BaseException("打印机已停用"); - } - if (!printer.getScenicId().equals(scenicId)) { - throw new BaseException("打印机不属于该景区"); - } + printer = printerMapper.getById(printerId); + } + if (printer == null) { + throw new BaseException("打印机不存在"); + } + if (printer.getStatus() != 1) { + throw new BaseException("打印机已停用"); + } + if (!printer.getScenicId().equals(scenicId)) { + throw new BaseException("打印机不属于该景区"); } // 验证照片数量 List userPhotoList = getUserPhotoList(memberId, scenicId, faceId); @@ -511,6 +512,7 @@ public class PrinterServiceImpl implements PrinterService { OrderEntity order = new OrderEntity(); Long orderId = SnowFlakeUtil.getLongId(); + redisTemplate.opsForValue().set("printer_size:"+orderId, printer.getPreferPaper(), 60, TimeUnit.SECONDS); order.setId(orderId); order.setMemberId(memberId); order.setFaceId(faceId);