Kaynağa Gözat

fixed 手动发起云打印小票

fushengqian 11 ay önce
ebeveyn
işleme
24f4f6fe97

+ 9 - 0
fuint-application/src/main/java/com/fuint/common/service/impl/OrderServiceImpl.java

@@ -1040,6 +1040,9 @@ public class OrderServiceImpl extends ServiceImpl<MtOrderMapper, MtOrder> implem
      */
     @Override
     public MtOrder getOrderInfo(Integer orderId) {
+        if (orderId == null || orderId <= 0) {
+            return null;
+        }
         return mtOrderMapper.selectById(orderId);
     }
 
@@ -1052,6 +1055,9 @@ public class OrderServiceImpl extends ServiceImpl<MtOrderMapper, MtOrder> implem
      */
     @Override
     public UserOrderDto getOrderById(Integer orderId) throws BusinessCheckException {
+        if (orderId == null || orderId <= 0) {
+            return null;
+        }
         MtOrder mtOrder = mtOrderMapper.selectById(orderId);
         return getOrderDetail(mtOrder, true, true);
     }
@@ -1065,6 +1071,9 @@ public class OrderServiceImpl extends ServiceImpl<MtOrderMapper, MtOrder> implem
      */
     @Override
     public UserOrderDto getMyOrderById(Integer orderId) throws BusinessCheckException {
+        if (orderId == null || orderId <= 0) {
+            return null;
+        }
         MtOrder mtOrder = mtOrderMapper.selectById(orderId);
         UserOrderDto orderInfo = getOrderDetail(mtOrder, true, true);
 

+ 35 - 0
fuint-application/src/main/java/com/fuint/module/backendApi/controller/BackendPrinterController.java

@@ -1,7 +1,9 @@
 package com.fuint.module.backendApi.controller;
 
 import com.fuint.common.dto.AccountInfo;
+import com.fuint.common.dto.UserOrderDto;
 import com.fuint.common.enums.*;
+import com.fuint.common.service.OrderService;
 import com.fuint.common.service.PrinterService;
 import com.fuint.common.service.SettingService;
 import com.fuint.common.service.StoreService;
@@ -54,6 +56,11 @@ public class BackendPrinterController extends BaseController {
      * */
     private SettingService settingService;
 
+    /**
+     * 订单服务接口
+     * */
+    private OrderService orderService;
+
     /**
      * 打印机列表查询
      *
@@ -310,4 +317,32 @@ public class BackendPrinterController extends BaseController {
 
         return getSuccessResult(true);
     }
+
+    /**
+     * 打印订单
+     *
+     * @param orderId
+     * @return
+     */
+    @ApiOperation(value = "打印订单")
+    @RequestMapping(value = "/doPrint/{orderId}", method = RequestMethod.GET)
+    @CrossOrigin
+    @PreAuthorize("@pms.hasPermission('order:index')")
+    public ResponseObject doPrint(HttpServletRequest request, @PathVariable("orderId") Integer orderId) throws Exception {
+        String token = request.getHeader("Access-Token");
+        AccountInfo accountInfo = TokenUtil.getAccountInfoByToken(token);
+        if (accountInfo == null) {
+            return getFailureResult(1001, "请先登录");
+        }
+
+        UserOrderDto orderInfo = orderService.getOrderById(orderId);
+        if (orderInfo == null) {
+            return getFailureResult(201, "该订单不存在");
+        }
+
+        // 打印订单
+        Boolean result = printerService.printOrder(orderInfo);
+
+        return getSuccessResult(result);
+    }
 }