wuggemail@foxmail.com преди 3 месеца
родител
ревизия
72849d3dee
променени са 2 файла, в които са добавени 54 реда и са изтрити 0 реда
  1. 32 0
      app/cxinv/controller/Sale.php
  2. 22 0
      app/cxinv/model/QrdInfo.php

+ 32 - 0
app/cxinv/controller/Sale.php

@@ -4,6 +4,7 @@
 namespace app\cxinv\controller;
 
 
+use app\cxinv\model\OrderTag;
 use app\cxinv\model\QrdInfo;use think\App;
 class Sale extends Base{
     public function __construct(App $app) {
@@ -26,4 +27,35 @@ class Sale extends Base{
       if($save===false)return error("更新失败");
       return success("更新成功");
     }
+
+    public function list(){
+    }
+
+    //给订单批量添加发票标签
+    public function addBatchTag(){
+        $params = $this->request->param(["idArr"=>[],"tag_id"=>''],"post","trim");
+        $valid = $this->validate($params,[
+            'idArr|订单编号'=>'require|array',
+            'tag_id|标签id'=>'require|number|gt:0'
+        ]);
+        if($valid!==true) return error($valid);
+        $qrdArr = $this->model->whereIn("id",$params['idArr'])->select();
+        if($qrdArr->isEmpty()) return error("订单不存在");
+        $taginfo = OrderTag::where("id",$params['tag_id'])->findOrEmpty();
+        if($taginfo->isEmpty()) return error("标签不存在");
+        if(!in_array($taginfo['type'],[3,4])) return error("该标签类型不是订单标签");
+        $this->model->startTrans();
+        try{
+            foreach ($qrdArr as $k=>$v){
+                $v->creater = $this->uname;
+                $v->createrid = $this->uid;
+                $this->model->AddTag($v,$params['tag_id']);
+            }
+            $this->model->commit();
+        }catch (\Exception $e){
+            $this->model->rollback();
+            return error($e->getMessage());
+        }
+        return success("批量添加成功");
+    }
 }

+ 22 - 0
app/cxinv/model/QrdInfo.php

@@ -115,4 +115,26 @@ class QrdInfo extends Base
 	          	}
 	          }
     }
+
+    public static function AddTag($model,$tag_id)
+    {    $tag= OrderTag::where('id',$tag_id)->findOrEmpty();
+        if($tag->isEmpty())throw  new \Exception('标签不存在');
+        try{
+           $total_fee= $tag['type']==3?$model->wpay_fee: $model->winv_fee;
+           TagLog::CheckOrderInfo($model->sequenceNo,$total_fee,$tag['type']);
+            $tagdata=[
+                'code'=>$model->sequenceNo,
+                'tag_id'=>$tag_id,
+                'creater'=>$model->creater,
+                'createrid'=>$model->createrid,
+                'tag_fee'=>$total_fee,
+                'tag_img'=>'',
+                'tag_remark'=>'',
+                'status'=>1,
+            ];
+            TagLog::create($tagdata);
+        }catch (\Exception $e){
+            throw  new \Exception($e->getMessage());
+        }
+    }
 }