zory 15 часов назад
Родитель
Сommit
d161a2a94a
3 измененных файлов с 80 добавлено и 31 удалено
  1. 44 0
      app/controller/exe/Prints.php
  2. 36 31
      app/model/saas/SaasOrderDetail.php
  3. BIN
      print-api.zip

+ 44 - 0
app/controller/exe/Prints.php

@@ -4,6 +4,7 @@ namespace app\controller\exe;
 
 use app\extra\basic\Base;
 use app\middleware\ExeMiddleware;
+use app\model\saas\SaasOrderDetail;
 use app\model\saas\SaasPrintClient;
 use LinFly\Annotation\Route\Controller;
 use LinFly\Annotation\Route\Middleware;
@@ -16,6 +17,8 @@ use support\Response;
 class Prints extends Base
 {
 
+    protected array $noNeedLogin = ["getPrintData"];
+
     /**
      * 回传打印机信息
      * @param Request $request
@@ -56,4 +59,45 @@ class Prints extends Base
         }
     }
 
+    /**
+     * 打印回传
+     * @param Request $request
+     * @return Response
+     */
+    #[Route(path: "status",methods: "post")]
+    public function getPrintData(Request $request): Response
+    {
+        try {
+            $param = $this->_valid([
+                "data.require"      => trans("empty.data"),
+                "param.require"     => trans("empty.data"),
+            ],$request->method());
+            if (!is_array($param)) return error($param);
+            $orderId = $param['param']['jobId'];
+            $order = (new SaasOrderDetail)->where("id",$orderId)->with(['orders'])->findOrEmpty();
+            $outPut = $param['data']['outputArray'];
+            $logData = [];
+            foreach ($outPut as $key=>$val) {
+                if ($val['type'] == 'stdout') {
+                    $logData[$key] = [
+                        "order_sn"  => $param['param']['customFileName'],
+                        "msg"       => delNt($val['data'])
+                    ];
+                } else if ($val['type'] == "exit") {
+                    if ($val['code'] == 0) {
+                        $order->status = 3;
+                        $order->save();
+                    }
+                }
+            }
+            $logData = array_values($logData);
+            if (!empty($logData)) {
+
+            }
+            return success("ok");
+        } catch (\Throwable $throwable) {
+            return error($throwable->getMessage());
+        }
+    }
+
 }

+ 36 - 31
app/model/saas/SaasOrderDetail.php

@@ -3,40 +3,41 @@
 namespace app\model\saas;
 
 use app\extra\basic\Model;
+use think\model\relation\HasOne;
 
 
 /**
- * @property integer $id (主键)
- * @property string $order_sn 
- * @property integer $uuid 
- * @property integer $shop_id 
- * @property string $name 文件名称
- * @property integer $total_page 
- * @property integer $page 页数
- * @property integer $start_page 起始页
- * @property integer $end_page 结束页面
- * @property integer $color 颜色
- * @property string $paper_size 纸张
- * @property integer $duplex 单双面1单面2双面
- * @property integer $direction 1
- * @property integer $number 打印份数
- * @property integer $money 金额
- * @property string $path 文件
- * @property string $old_path 
- * @property string $extension 
- * @property float $discount 折扣
- * @property integer $source 1文档2复印
- * @property integer $extra_money 额外加价
- * @property integer $single_money 单价
- * @property integer $single_id 单价ID
- * @property string $icon 
- * @property integer $status 
- * @property integer $pay_status 支付状态
- * @property integer $refund_status 退款状态
- * @property mixed $refund_at 
- * @property string $print_name 
- * @property string $view_key 
- * @property string $job 
+ * @property integer $id (主键)
+ * @property string $order_sn 
+ * @property integer $uuid 
+ * @property integer $shop_id 
+ * @property string $name 文件名称
+ * @property integer $total_page 
+ * @property integer $page 页数
+ * @property integer $start_page 起始页
+ * @property integer $end_page 结束页面
+ * @property integer $color 颜色
+ * @property string $paper_size 纸张
+ * @property integer $duplex 单双面1单面2双面
+ * @property integer $direction 1
+ * @property integer $number 打印份数
+ * @property integer $money 金额
+ * @property string $path 文件
+ * @property string $old_path 
+ * @property string $extension 
+ * @property float $discount 折扣
+ * @property integer $source 1文档2复印
+ * @property integer $extra_money 额外加价
+ * @property integer $single_money 单价
+ * @property integer $single_id 单价ID
+ * @property string $icon 
+ * @property integer $status 
+ * @property integer $pay_status 支付状态
+ * @property integer $refund_status 退款状态
+ * @property mixed $refund_at 
+ * @property string $print_name 
+ * @property string $view_key 
+ * @property string $job 
  * @property mixed $create_at
  */
 class SaasOrderDetail extends Model
@@ -69,5 +70,9 @@ class SaasOrderDetail extends Model
      */
     public bool $timestamps = false;
 
+    public function orders(): HasOne
+    {
+        return $this->hasOne("app\model\saas\SaasOrder","order_sn",'order_sn');
+    }
 
 }